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

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

Thema: Hext Byte Vergleichen

  1. #1
    Registriert seit
    20.10.2012
    Beiträge
    10
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Liebe Gemeinschaft,
    Ich habe folgendes Problem und zwar habe ich bei meiner Abschlussprüfung eine Erkennung von schwarzen und weissen Werkstücken. Jetzt habe ich gesagt ist wenn das Werkstück Weiss ist dann schreib aus einem Datenbaustein1 in einen Datenbaustein2 den Wert b#16#77 und schiebe den Wert mit jedem Schritt einen Datenbausteinbyte höher. und am Ende meiner Schrittkette wollte ich einen Vergleicher einbauen der dann erkennt oder der Wert nun b#16#77 für Weiss oder b#16#55 für schwarz. Meine Frage mit welchem Baustein funktioniert das ?

    Liebe Grüße Lars
    Zitieren Zitieren Hext Byte Vergleichen  

  2. #2
    Registriert seit
    08.02.2007
    Ort
    A-2320
    Beiträge
    2.252
    Danke
    244
    Erhielt 332 Danke für 303 Beiträge

    Standard

    Freiwillige vor falls sie das verstehen....

    Was heisst: "dann schreib aus einem Datenbaustein1 in einen Datenbaustein2 den Wert b#16#77 "
    Wenn Du weisst dass es B#16#77 ist, was suchst Du im Baustein1?

    Wie lange soll das gehen? Wieviel Werkstücke können es sein?
    Was heisst: "und am Ende meiner Schrittkette wollte ich einen Vergleicher einbauen der dann erkennt oder der Wert nun b#16#77 für Weiss oder b#16#55 für schwarz"
    Was willst Du da Ende feststellen? Den letzten Wert? Anzahl weiss/schwarz?

    Bitte formulier das nochmal bzw. vielleicht haben es andere ja ohnehin verstanden....

  3. #3
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.716
    Danke
    443
    Erhielt 914 Danke für 739 Beiträge

    Standard

    Zitat Zitat von Lars1234 Beitrag anzeigen
    ... wollte ich einen Vergleicher einbauen der dann erkennt oder der Wert nun b#16#77 für Weiss oder b#16#55 für schwarz. Meine Frage mit welchem Baustein funktioniert das ?
    Wozu willst Du da einen vorgefertigten Baustein:
    77 laden
    Wert laden
    =?
    ja -> weißes Werkstück, Sprung zum Ende Vergleich
    nein ->
    55 laden
    =?
    ja -> schwarzes Werkstück, Sprung zum Ende Vergleich
    nein -> was ist hier los? Sprung zu mach wat
    Ende Vergleich
    Wo ist das Problem?

  4. Folgender Benutzer sagt Danke zu hucki für den nützlichen Beitrag:

    borromeus (25.10.2012)

  5. #4
    Lars1234 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    20.10.2012
    Beiträge
    10
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Also ich schreibe einen Festwert in Datenbaustein 1 DB1.Dbb0 den wert B#16#77 und in den DB1.Dbb1 den Wert B#16#55.
    Jetzt wird Erkannt ob das Werkstück ein Weisses oder schwarzes ist. Bei einem Weissen Werkstück wird ein Merker M8.0 gesetz. Bei einem schwarzem Werkstück einen Merker M8.1. Wenn M8.0 gesetz ist wird der EN eingang von einem Move Befehl gesetz und der Wert B#16#55 wird in DB5.Dbb0 geschrieben. So auch bei dem Merker M8.1 nur mit dem Wert B#16#77. Merker M8.0 und M8.1 können nicht Gleichzeitig gesetz werden nur nach einander. Wenn der 1 Schritt anfängt wird von einem neuem Move Befehl der EN gesetz. Die Farbe des Werkstück was in Schritt 1 bearbeitet wird, wird dann von DB5.DBB0 nach DB5.DBB1 geschrieben. Das geht bis zum letzten Schritt und jetzt will ich im letzten Schritt einen Vergleicher haben der mir sagt ob das Werkstück schwarz oder weiss ist. Damit ich die Teile sotiert kann.
    Ich muss in FUP Programmieren
    Schuldigung für die erste Fomulierung hoffe die hier ist besser
    Geändert von Lars1234 (25.10.2012 um 18:20 Uhr)

  6. #5
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.716
    Danke
    443
    Erhielt 914 Danke für 739 Beiträge

    Standard

    Zitat Zitat von Lars1234 Beitrag anzeigen
    Also ich schreibe einen Festwert in Datenbaustein 1 DB1.Dbb0 den wert B#16#77 und in den DB1.Dbb1 den Wert B#16#55.
    Jetzt wird Erkannt ob das Werkstück ein Weisses oder schwarzes ist. Bei einem Weissen Werkstück wird ein Merker M8.0 gesetz. Bei einem schwarzem Werkstück einen Merker M8.1. Wenn M8.0 gesetz ist wird der EN eingang von einem Move Befehl gesetz und der Wert B#16#55 wird in DB5.Dbb0 geschrieben. So auch bei dem Merker M8.1 nur mit dem Wert B#16#77. Merker M8.0 und M8.1 können nicht Gleichzeitig gesetz werden nur nach einander.
    ...
    Wenn Du vom Nachbarn eine größere Anzahl Eimer mit weißer und schwarzer Farbe bekommst, schreibst Du dann auch erst zwei Zettel auf denen "weiß" und "schwarz" steht, packst die in ein Schubfach und öffnest dann jedesmal, wenn Du festgestellt hast, ob weiße oder schwarze Farbe im Eimer ist, dieses Schubfach, um weiß bzw. schwarz abzuschreiben?

    Also wozu der DB, in dem die 55 bzw. 77 steht, wenn Du doch weißt, was eingetragen werden soll?
    Trag' doch direkt in Abhängigkeit Deiner Merker M8.0 bzw M8.1 die Werte 55 bzw. 77 in Deinen DB.
    Und bitte daran denken, wenn Du Integer verwenden solltest, daß so ein 16bit-Wert zwei Byte belegt. (Die meisten SPS-Typen tun sich mit Ein-Byte-Werten schwer.)


    Zitat Zitat von Lars1234 Beitrag anzeigen
    ...
    Wenn der 1 Schritt anfängt wird von einem neuem Move Befehl der EN gesetz. Die Farbe des Werkstück was in Schritt 1 bearbeitet wird, wird dann von DB5.DBB0 nach DB5.DBB1 geschrieben. Das geht bis zum letzten Schritt ...
    Das ist ein sogenannter FIFO-Speicher (First In, First Out) und wurde schon mehrfach hier im Forum beschrieben.
    Wichtig ist dafür, das man weiß, wieviele Schritte man speichern will. Deshalb hat borromeus danach gefragt.
    Ach ja, dieser Teil wird mit FUP sicher schwierig. Das wäre ein guter Grund, sich mit AWL, SCL o.ä. zu befassen.


    Zitat Zitat von Lars1234 Beitrag anzeigen
    ... und jetzt will ich im letzten Schritt einen Vergleicher haben der mir sagt ob das Werkstück schwarz oder weiss ist. Damit ich die Teile sotiert kann. ...
    Diese Funktionsweise hab' ich in meinem ersten Post beschrieben.


    Zitat Zitat von Lars1234 Beitrag anzeigen
    ...
    Schuldigung für die erste Fomulierung hoffe die hier ist besser
    Nicht wirklich.


    Also starte erst mal -> zeig' dann hier, was Du hast und Dir wird sicher auch weiter geholfen.
    Nur Komplettlösungen sind äußerst selten.

  7. Folgender Benutzer sagt Danke zu hucki für den nützlichen Beitrag:

    borromeus (25.10.2012)

  8. #6
    Lars1234 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    20.10.2012
    Beiträge
    10
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ja das Problem ist was du meinst ist richtig kann man so machen die Merker dirket setzten, aber aufgrund der anordnung der Sensoren und Taktfrequenz der kommenden Werkstücken geht das nicht. Das problem ist wenn das Werkstück abgeholt wird, kann schon das nächste da liegen. Das Heißt, es kommt ein weisses Teil. Das wird abgeholt und bevor es abgelegt wird, kann schon ein schwarzes da liegen. In Verbindung mit einem Schiebregister ist das extrem Konpliziert. Es geht nur darum das ich einen DBxy.Dbbxy mit einem anderen DBcc.DBBcc vergleiche ob die Gleich sind mehr möchte ich gar nicht.

  9. #7
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.716
    Danke
    443
    Erhielt 914 Danke für 739 Beiträge

    Standard

    Zitat Zitat von Lars1234 Beitrag anzeigen
    ...
    In Verbindung mit einem Schiebregister ist das extrem Konpliziert.
    ...
    Ja, deswegen machen das auch nur Hinz und Kunz mit 'nem FIFO, weil das so kompliziert ist.
    Und deswegen schaffen sich auch die wenigsten 'ne Fließbandproduktion an.



    Zitat Zitat von Lars1234 Beitrag anzeigen
    ...
    Es geht nur darum das ich einen DBxy.Dbbxy mit einem anderen DBcc.DBBcc vergleiche ob die Gleich sind mehr möchte ich gar nicht.
    Langsam werd' ich so verwirrt, wie borromeus.
    Ist doch das, was ich in meinem ersten Post geschrieben habe, nur das ich den einen DB weggelassen habe, weil er überflüssig ist.
    Also noch mal:
    DBcc.DBBcc (77) laden
    DBxy.Dbbxy (Wert) laden
    =?
    ja -> weißes Werkstück, Sprung zum Ende Vergleich
    nein ->
    DBcc.DBBdd (55) laden
    =?
    ja -> schwarzes Werkstück, Sprung zum Ende Vergleich
    nein -> was ist hier los? Sprung zu mach wat
    Ende Vergleich
    Geht auch in FUP, aber ich kann nicht so gut zeichnen.

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

    borromeus (25.10.2012)

  11. #8
    Lars1234 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    20.10.2012
    Beiträge
    10
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    und das geht mit diesem Hex byte ?
    weil ich habe unter diesen Vergleicher Bausteinen das nicht gefunden 1byte mit einem anderem vergleichen.
    Ich habe schon ein Schieberegiester Programmiert nur es funktioniert bei dieser Anlage nicht so richtig zumindest man hat schnell fehler drin. Es ist im grunde genommen ja nicht schwer.
    Das hat mich so irritiert diese 77 weil da steht ja im DB als Hex B#16#77 und du hast eine Dezimalzahl oder nicht ?
    Geändert von Lars1234 (25.10.2012 um 19:10 Uhr)

  12. #9
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.716
    Danke
    443
    Erhielt 914 Danke für 739 Beiträge

    Standard

    Das kommt darauf an, was Du für 'ne SPS hast. Eine S7-200 hat da z.B. Befehle für.
    Die meisten CPUen arbeiten aber lieber mit INT, also zwei Byte. Aber was spricht dagegen, einen Int-Wert von 55 bzw. 77 in den DB einzutragen?
    Mußt dann nur anders adressieren.

    PS: Hex ist kein Problem, wird eh' alles binär gespeichert.

  13. Folgende 2 Benutzer sagen Danke zu hucki für den nützlichen Beitrag:

    borromeus (25.10.2012),Lars1234 (25.10.2012)

  14. #10
    Lars1234 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    20.10.2012
    Beiträge
    10
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    joar stimmt eigentlich. Das mache ich dann auch so manchmal sieht man den Wald voll Bäume nicht :/
    Ich habe ein S7-314 man müsste sein Schieberegister komplett selber programmieren. Ich habe mit meinem Lehrer gesprochen und auf Grund einer sehr sehr doof anordnung von Sensoren ist es extrem schwer und er hat mir auch erklärt das in diesem besonderem Fall meine Lösung deutlich einfacher und Sinnvoller ist.

Ähnliche Themen

  1. Wie kann man Hi-Byte Low-Byte spiegeln?
    Von Klärmolch im Forum Simatic
    Antworten: 23
    Letzter Beitrag: 11.12.2010, 20:58
  2. Byte vergleichen oder alternative?
    Von Max-Schulz im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 22.05.2009, 12:58
  3. Antworten: 4
    Letzter Beitrag: 08.07.2008, 08:52
  4. BYTE/WORD/DWORD vergleichen
    Von slma im Forum Simatic
    Antworten: 23
    Letzter Beitrag: 06.07.2007, 15:11
  5. Antworten: 6
    Letzter Beitrag: 06.07.2005, 18:36

Lesezeichen

Berechtigungen

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