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

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

Thema: Byte Swap elegant

  1. #1
    Registriert seit
    11.12.2009
    Beiträge
    2.113
    Danke
    388
    Erhielt 390 Danke für 271 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Leute,

    damit es nicht langweilig wird mal wieder ein Thema.

    Ich hab ne 1200er, nen Roboter (Kuka) und nen TP900 Comfort.

    Damit 1200er und Kuka kommunizieren können, muss ich die Bytes swappen (Wer es zugelassen hat das die scheiße nicht genormt ist gehört erschossen!).
    Das ganze mache ich zur Zeit mit SWAP also z.B:

    Code:
    Kommunikation_Kuka_WORD1 := SWAP(Kommunikation_Kuka_WORD1)
    Hat den Nachteil, dass ich die Variable immer schreiben muss, da sie sonst in jedem Zyklus umgedreht wird. Ziemlich unschön.
    Außerdem habe ich den Nachteil, dass ich die Variablen auf meinem Comfort Panel anzeige, und das HMI holt die Variablen nicht immer am Zyklus Anfang oder Ende, sondern einfach mitten in den Zyklus rein.
    Das heißt ich sehe ab und zu ein geswapptes Signal und mal nicht.

    Somit suche ich jetzt nach einer eleganten Lösung.

    Eine Möglichkeit (Die ich aber nicht schön finde) wäre die Struktur in meinem DB 2 mal abzulegen. Einmal für die SPS zum lesen und schreiben, und einmal geswapped für den Roboter.
    Hat den Nachteil, dass ich die doppelte Datenhaltung habe, und in jedem Zyklus die ganze Struktur durch die Gegend schaufel und Swappe.

    Also um die Frage zu vollenden... wie geht das ganze elegant?

    Grüße

    Marcel
    Stell Dir vor es geht, und keiner kriegts hin!
    Zitieren Zitieren Byte Swap elegant  

  2. #2
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.181
    Danke
    923
    Erhielt 3.289 Danke für 2.658 Beiträge

    Standard

    Du mußt mit 2 Variablen arbeiten.

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  3. #3
    Registriert seit
    09.01.2012
    Beiträge
    466
    Danke
    25
    Erhielt 38 Danke für 35 Beiträge

    Standard

    Schreib einen fb der die Daten ausgibt und liest. So hast du nur eine datenhaltung

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

    PN/DP (27.06.2015)

  5. #4
    Registriert seit
    29.08.2007
    Beiträge
    212
    Danke
    42
    Erhielt 34 Danke für 23 Beiträge

    Standard

    Mich wundert es gerade etwas das du zwischen Kuka Roboter und ner Siemens Sps die Bytes tauschen musst.

    Bei S7-300 + Profibus + Krc2/4 hatte ich das Problem bisher nicht.

    Werde aber bald auch eine S7-1200 + Profinet + Krc4 haben.

    Bin also schon mal vorgewarnt ...

  6. #5
    Matze001 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    11.12.2009
    Beiträge
    2.113
    Danke
    388
    Erhielt 390 Danke für 271 Beiträge

    Standard

    @Roger : Das wäre ja viel zu einfach gewesen Man denkt manchmal etwas... kompliziert...

    @van: Die Profibus und Profinet CP bei den "alten" sind Siemens CPs, das könnte die Ursache sein.
    Ich müsste mal forschen, bin aber der Meinung das man selbst dort drehen musste (Kann ich aber gern rausfinden wenn Du magst).
    Vermutlich ist es dir nie aufgefallen, weil Du nie über ein Byte raus gekommen bist?

    Grüße

    Marcel
    Stell Dir vor es geht, und keiner kriegts hin!

  7. #6
    Registriert seit
    09.01.2012
    Beiträge
    466
    Danke
    25
    Erhielt 38 Danke für 35 Beiträge

    Standard

    Zitat Zitat von Matze001 Beitrag anzeigen
    @Roger : Das wäre ja viel zu einfach gewesen Man denkt manchmal etwas... kompliziert...

    @van: Die Profibus und Profinet CP bei den "alten" sind Siemens CPs, das könnte die Ursache sein.
    Ich müsste mal forschen, bin aber der Meinung das man selbst dort drehen musste (Kann ich aber gern rausfinden wenn Du magst).
    Vermutlich ist es dir nie aufgefallen, weil Du nie über ein Byte raus gekommen bist?

    Grüße

    Marcel
    Wem sagst du das... Ich mache solche Kommunikationen immer in eine FB und übergebe diesem die HardwareID. Mit getio und setio kannst die Kommunikation danach schön bereitstellen.

  8. #7
    Registriert seit
    29.08.2007
    Beiträge
    212
    Danke
    42
    Erhielt 34 Danke für 23 Beiträge

    Standard

    Zitat Zitat von Matze001 Beitrag anzeigen
    @van: Die Profibus und Profinet CP bei den "alten" sind Siemens CPs, das könnte die Ursache sein.
    Ich müsste mal forschen, bin aber der Meinung das man selbst dort drehen musste (Kann ich aber gern rausfinden wenn Du magst).
    Vermutlich ist es dir nie aufgefallen, weil Du nie über ein Byte raus gekommen bist?
    Die KRC4 hat ja einen Beckhoff Koppler für Profbus, Profinet ist eine reine Softwareoption ?!
    Die Byte Reihenfolge dürfte aber von der KSS kommen.

    Wirst aber recht haben, bin nie über ein Byte raus gekommen


    Zitat Zitat von Matze001 Beitrag anzeigen
    Das ganze mache ich zur Zeit mit SWAP also z.B:
    Code:
    Kommunikation_Kuka_WORD1 := SWAP(Kommunikation_Kuka_WORD1)
    Es gibt auch noch
    Code:
    • READ_LITTLE (Daten in Little-Endian-Format lesen)
    • WRITE_LITTLE (Daten in Little-Endian-Format schreiben)
    • READ_BIG (Daten in Big-Endian-Format lesen)
    • WRITE_BIG (Daten in Big-Endian-Format schreiben)
    https://support.industry.siemens.com...278667&Lang=de

  9. #8
    Registriert seit
    25.07.2012
    Ort
    Rheine
    Beiträge
    18
    Danke
    20
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Mit KRC4 kann man auf Roboterseite die Bytes auch swappen. Dies ist über das WorkVisual einzurichten. In der Grafik ein Auszug aus der Anleitung.
    Siemens Seitig gibt es, wenn ich mich richtig errinnere, auch einen Baustein/Funktion dafür.

    Bytes swappen.jpg

    KST_WorkVisual_31_de.pdf

  10. #9
    Matze001 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    11.12.2009
    Beiträge
    2.113
    Danke
    388
    Erhielt 390 Danke für 271 Beiträge

    Standard

    Hallo Arosafahrer,

    danke für die Info! Das ist mir bekannt.

    Es gibt dabei nur 2 Probleme:

    1. Byte Swap funktioniert nicht für den Profinet Slave (Frag mich mal einer warum - Stand WorkVisual 3.1.4 Build 9 -> ggf. ist es mit der aktuellen jetzt möglich) (Ich kann zwar bei der E/A Verschaltung die Bits passend verschalten, aber siehe Punkt 2)
    2. Wenn ich statt nem Kuka mal nen Fanuc habe, stehe ich vor dem selben Problem.

    Grüße

    Marcel
    Stell Dir vor es geht, und keiner kriegts hin!

  11. #10
    Registriert seit
    25.07.2012
    Ort
    Rheine
    Beiträge
    18
    Danke
    20
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zu Fanuc kann ich nichts sagen.
    Wir haben die Kuka Funktion nicht genutzt, daher kann ich kein Feedback zum Erfolg der Funktion geben. Wir haben es im SPS Program geswapped, fanden wir auch irgendwie übersichtlicher.

Ä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. Umwandeln von INT nach Byte u Byte + n
    Von Gerold im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 07.04.2009, 10:07
  3. Antworten: 4
    Letzter Beitrag: 08.07.2008, 08:52
  4. Elegant mit einem Taster einen Antrieb ein & ausschalten
    Von KingShango im Forum Programmierstrategien
    Antworten: 11
    Letzter Beitrag: 11.02.2008, 15:12
  5. Antworten: 12
    Letzter Beitrag: 11.12.2007, 07:43

Lesezeichen

Berechtigungen

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