Step 7 Koppelung SAP EWM mit S7

sm0d

Level-1
Beiträge
1
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

vorweg, ich versuche gerade meine BA über die Schnittstellen von SAP EWM und SPSen, vorwiegend für die S7, zu schreiben. Die S7 steuert dabei ein Lager mit Fördertechnik und Regalbediengeräten in einem Hochregallager. Allerdings habe ich derzeit noch Probleme beim Verständnis auf Protokollebene, da ich mich bisher lediglich mit SAP EWM beschäftigt habe und darüber hinaus noch keine Erfahrungen sammeln konnte.
Allgemein gefragt, das SAP EWM sendet mir aus dem Standard heraus ein abgespecktes Telegramm mit den folgenden Feldern:

ZTR_S_TELE_CORE
KomponenteKomponententypTypLängeBeschreibung
SENDER/SCWM/DE_MFSSENDERCHAR8Sender
RECEIVER/SCWM/DE_MFSRECEIVERCHAR8Empfänger
CP/SCWM/DE_MFSCPCHAR18Meldepunkt für Fördertechnik
HANDSHAKE/SCWM/DE_MFSHNDSHKCHAR2Handshake des Telegramms
SEQU_NO/SCWM/DE_MFSSNNUMC20Laufnummer des Telegramms
COMM_ERROR/SCWM/DE_MFS_COMM_ERRORCHAR4Fehler bei der Telegrammkommunikation
TELETYPE/SCWM/DE_MFSTELETYPECHAR4Telegrammart
ZTR_S_TELE_TASK
KomponenteKomponententypTypLängeBeschreibung
.INCLUDEZTR_S_TELE_HEADERStrukturKopfdaten Mapping -Struktur für SPS Telegramme
HUIDENT/SCWM/DE_HUIDENTCHAR20Handling-Unit-Identifikation
HUTYP/SCWM/DE_HUTYPCHAR4Handling Unit-Typ
SOURCE/SCWM/DE_MFSSOURCECHAR18Quelllokation für Bewegungen im MFS-Umfeld
DEST/SCWM/DE_MFSDESTCHAR18Ziellokation für Bewegungen im MFS-Umfeld
MFS_ERROR/SCWM/DE_MFS_ERRORCHAR4Fehler im Telegramm
RSRC/SCWM/DE_RSRCCHAR18Ressource (Transportmittel oder Benutzer)
FINAL_DEST/SCWM/DE_MFSFINALDESTCHAR18Finales Ziel

Soweit sogut, als Gegenstück habe ich eine Lagersimulation, die das Telegramm entgegennimmt und verarbeiten soll.
Das Telegramm wird als einfacher String mit einer fixen Zeichenlänge übertragen. Nun sind mir folgende Fragen aufgekommen:

- Wie verarbeitet nun eine SPS dieses Telegramm? Nimmt die S7 durch einen TCP/IP Socketstream Zeichen für Zeichen entgegen, wandelt es in ein Klassenobjekt um und verarbeitet es mir anschließend?
- Derzeit wird zur Kommunikation ein proprietäres Protokoll verwendet, das auf TCP/IP basiert. Benötigt man immer ein "erweitertes" Kommunikationsprotokoll oder ist es auch möglich, ausschließlich TCP/IP zu verwenden? Decken die Funktionen und Dienstleistungen von Schicht 3 und 4 im OSI-Modell nicht alles ab, um die Integrität der Telegramme zu gewährleisten?
- Gibt es bei der Verarbeitung große Unterschiede, wenn andere SPSen verwendet werden?

Vielen Dank schon einmal im Voraus!

Viele Grüße
Max
 
Den TCP-Funktionsblöcken der mir bekannten SPS ist es völlig egal, was da für Daten kommen, für die ist jedes Paket erstmal nur eine Bytefolge von z.B. insgesamt 40 Byte. Der Programmierer der SPS muß dann die entsprechende Zerlegung dieser Bytefolge in die richtigen Bestandteile (das Parsen) und deren eventuell notwendigen Umwandlungen (z.B. Bytefolge!) programmieren. Die entsprechenden Infos hast Du ja oben zusammengestellt. Es müßte dann eben z.B. programmiert werden, daß die ersten 8 Byte in einen String kopiert werden, dazu kämen noch die Erzeugung der Stringlängeninformation (S7) oder des Stringendes (bei z.B. B&R).
Die Schichten 3 und 4 decken nur ab, daß die übermittelte Bytefolge komplett und in gewissen Grenzen richtig übertragen wurde. Darüber hinausgehende Plausibilitätsprüfungen müssen noch dazu erstellt werden.

Erweiterte Protokolle packen meist um die eigentliche Information noch weiteres drumherum, z.B. die laufende Nummer des Packets oder könnten die Information auch verschlüsseln. Die sind nicht zwingend notwendig, können aber die Zuverlässigkeit der Übertragung erhöhen.
 
Zurück
Oben