Das stimmt nicht alles was sich der Kunde wünscht ist immer sinnvoll.
Und die Dokumentation von Siemens dazu lässt auch manche Wünsche offen besonders wenn man die MTU überschreitet bei aktivem ADHOC oder so Scherzen
An sich wäre für diese Anwendung eine S7 Verbindung wünschenswert. Wenn der Kunde TCP/IP wünscht, S7 ist nur ein Protokoll welches auf TCP/IP aufsetzt, also auch TCP/IP.
Wenn er allerdings Open User Com vorschreibt kommt vieles zum Tragen.
Ich habe damit vor einiger Zeit herum gespielt bei Kommunikation mit Labview Komponenten.
Wenn das Telegramm eine feste Länge hat und die MTU nicht überschreitet ist es ganz simpel denn jedes Paket enthält dann alle Daten und die kleinste Einheit ist ein Paket. Sprich es kann nichts verloren gehen oder ähnliches.
Wenn man die MTU überschreitet ist die Dokumentation von Siemens sehr dürftig und unterschiedlich ausgebaut je nach Handbuch.
Paket größer als MTU aber mit fixer Länge. In dem Fall muss man sicherstellen dass das die Pakete in der richtigen Reihenfolge ankommen und auch gelesen werden. Z.b. bei einem Fehler muss alles verworfen werden und wieder mit dem ersten Paket begonnen werden.
Paket größer als MTU ihnen feste Länge.
Es wird unter anderem beschrieben das wenn ADHOC verwendet wird im ersten Doppelwort die Telegrammlänge stehen soll. Nur wie nutzt man diese effektiv den die Bausteine von Siemens tun es nicht soweit ich weiß.
Aber das Problem hierbei ist hat man das erste Paket und das erste Doppelwort etc.
Bei meinem Anwendungsfall konnten sich verschiedene Geräte verbinden. Jeder Typ hatte eine andere Länge aber diese war dann konstant. Daher habe ich nur für das Initial Telegramm ADHOC verwendet und ab dem zweiten Aufruf eine feste Länge.
Und wenn ein Problem aufgetreten ist würde die Verbindung resetet und neu aufgebaut da es sich um keine Zeitkritische Kommunikation handelte.
Ein weiteres Problem ist der TCP/IP Server bekommt nicht zwingend mit dass keinen Client mehr vorhanden ist. Solange der Server nicht versucht zu senden über eine Verbindung ohne Client oder er ein Verbindung abgebaut vom Client erhält.
Relativ viel Logik und auch Handling muss bei Open User selbst gestaltet werden.
Aber wie gesagt wie ist der Kundenwunsch. Wenn er Open User vordert na gut. Wenn er nur eine Verbindung auf TCP/IP will kann auch eine S7 Kommunikation genutzt werden.
Gesendet von meinem Redmi Note 5 mit Tapatalk