- Beiträge
 - 5.848
 
- Reaktionspunkte
 - 1.774
 
-> Hier kostenlos registrieren
Ich hab hier ne S7-1500 dadrauf läuft eine TCP Kommunikation zu einem EthernetRS485 Wandler.
Das heisst Telegramme die ich über die TCP Verbindung schicke werden an den RS485 Port durchgereicht und viceversa.
Im programm läuft das so.
Ich habe einen TRCV_C der die Verbindung aufbaut und hält.
der TSEND sendet dann Telegramme auf die dann das Zielgerät antwortet und über TRCV_C kriege ich dann das Antworttelegramm.
Soweit sogut.
Ich schick die Telegramme üblicherweise so oft es geht. Also wenn grad keine Befehlstelegramme anstehen, überwache ich die Geräte per POLL Telegramme auf die das Gerät dann ein ACK Telegramm schickt.
Das funktioniert tip top. Jetzt kommt aber ne neue Anforderung dazu. Der EthernetRS485 Wandler soll ne SimKarte bekommen mit dem er sich in ein VPN einwählt in dem sich auch die SPS wiederfindet.
Die Simkarte soll aber auf 200MB Monatlich gedeckelt sein.
Ist ja kein Problem. Sende ich die Polls halt auch nur noch alle 5 Minuten um ein Update zu kriegen. Und wenn ein Befehl rausgeht polle ich alle paar Sekunden nochmal um die auf den Befehl folgende Statusupdates zu bekommen. An Gesendeten und empfangenen Daten komme ich dann auf 200 Byte die Stunde. über die TSEND TRECV längen addierten Daten.
Jetzt ist es ja aber so das über die TCP Transportstrecke ja noch ein TCP Header um das Serielle Telegramm gebaut wird, was das Ganze sicher grösser macht. Darum hab ich mal noch Wireshark drangehängt. Um rauszufinden wieviele mehr da generiert wird und sicherzustellen, dass die Karte dann nicht einfach trotzdem geleert wird.
hier mal ein kurzer Auszug
rot sind die Telegramme die ich effektiv schicke. das nächste Grün ist dann jeweils die Antwort.
	
	
	
		
Aber wie muss ich die anderen Daten Verstehen? Zählt das alles auch zu den Daten die von so einem Sim Datenpaket abgezogen wird? Das sind ja dann jeweils 200 bytes pro sekunde oder?
Wenn ja, wie könnte ich das verhindern?
	
		
			
		
		
	
				
			Das heisst Telegramme die ich über die TCP Verbindung schicke werden an den RS485 Port durchgereicht und viceversa.
Im programm läuft das so.
Ich habe einen TRCV_C der die Verbindung aufbaut und hält.
der TSEND sendet dann Telegramme auf die dann das Zielgerät antwortet und über TRCV_C kriege ich dann das Antworttelegramm.
Soweit sogut.
Ich schick die Telegramme üblicherweise so oft es geht. Also wenn grad keine Befehlstelegramme anstehen, überwache ich die Geräte per POLL Telegramme auf die das Gerät dann ein ACK Telegramm schickt.
Das funktioniert tip top. Jetzt kommt aber ne neue Anforderung dazu. Der EthernetRS485 Wandler soll ne SimKarte bekommen mit dem er sich in ein VPN einwählt in dem sich auch die SPS wiederfindet.
Die Simkarte soll aber auf 200MB Monatlich gedeckelt sein.
Ist ja kein Problem. Sende ich die Polls halt auch nur noch alle 5 Minuten um ein Update zu kriegen. Und wenn ein Befehl rausgeht polle ich alle paar Sekunden nochmal um die auf den Befehl folgende Statusupdates zu bekommen. An Gesendeten und empfangenen Daten komme ich dann auf 200 Byte die Stunde. über die TSEND TRECV längen addierten Daten.
Jetzt ist es ja aber so das über die TCP Transportstrecke ja noch ein TCP Header um das Serielle Telegramm gebaut wird, was das Ganze sicher grösser macht. Darum hab ich mal noch Wireshark drangehängt. Um rauszufinden wieviele mehr da generiert wird und sicherzustellen, dass die Karte dann nicht einfach trotzdem geleert wird.
hier mal ein kurzer Auszug
rot sind die Telegramme die ich effektiv schicke. das nächste Grün ist dann jeweils die Antwort.
		Code:
	
	No.	Time	Source	Destination	Protocol	Length	Info251	07:10:42.880009	192.168.1.20	192.168.1.1	TCP	60	63354 → 48500 [RST, ACK] Seq=1 Ack=2 Win=0 Len=0
308	07:10:44.881707	192.168.1.20	192.168.1.1	TCP	60	55253 → 48500 [SYN] Seq=0 Win=8192 Len=0 MSS=1460
309	07:10:44.881788	192.168.1.1	192.168.1.20	TCP	60	48500 → 55253 [SYN, ACK] Seq=0 Ack=1 Win=29200 Len=0 MSS=1460
310	07:10:44.881931	192.168.1.20	192.168.1.1	TCP	60	55253 → 48500 [ACK] Seq=1 Ack=1 Win=8192 Len=0
477	07:10:49.882835	192.168.1.1	192.168.1.20	TCP	60	48500 → 55253 [FIN, ACK] Seq=1 Ack=1 Win=29200 Len=0
478	07:10:49.883014	192.168.1.20	192.168.1.1	TCP	60	55253 → 48500 [ACK] Seq=1 Ack=2 Win=8192 Len=0
479	07:10:49.884001	192.168.1.20	192.168.1.1	TCP	60	55253 → 48500 [RST, ACK] Seq=1 Ack=2 Win=0 Len=0
532	07:10:51.885157	192.168.1.20	192.168.1.1	TCP	60	56850 → 48500 [SYN] Seq=0 Win=8192 Len=0 MSS=1460
533	07:10:51.885573	192.168.1.1	192.168.1.20	TCP	60	48500 → 56850 [SYN, ACK] Seq=0 Ack=1 Win=29200 Len=0 MSS=1460
534	07:10:51.885775	192.168.1.20	192.168.1.1	TCP	60	56850 → 48500 [ACK] Seq=1 Ack=1 Win=8192 Len=0
[COLOR=#ff0000]713	07:10:56.023921	192.168.1.20	192.168.1.1	TCP	71	56850 → 48500 [PSH, ACK] Seq=1 Ack=1 Win=8192 Len=17[/COLOR]
714	07:10:56.024232	192.168.1.1	192.168.1.20	TCP	60	48500 → 56850 [ACK] Seq=1 Ack=18 Win=29200 Len=0
[COLOR=#00ff00]715	07:10:56.071276	192.168.1.1	192.168.1.20	TCP	63	48500 → 56850 [PSH, ACK] Seq=1 Ack=18 Win=29200 Len=9[/COLOR]
[COLOR=#ff0000]717	07:10:56.144048	192.168.1.20	192.168.1.1	TCP	71	56850 → 48500 [PSH, ACK] Seq=18 Ack=10 Win=8192 Len=17[/COLOR]
718	07:10:56.144151	192.168.1.1	192.168.1.20	TCP	60	48500 → 56850 [ACK] Seq=10 Ack=35 Win=29200 Len=0
[COLOR=#00ff00]719	07:10:56.191304	192.168.1.1	192.168.1.20	TCP	63	48500 → 56850 [PSH, ACK] Seq=10 Ack=35 Win=29200 Len=9[/COLOR]
720	07:10:56.333401	192.168.1.20	192.168.1.1	TCP	60	56850 → 48500 [ACK] Seq=35 Ack=19 Win=8192 Len=0
905	07:11:01.191692	192.168.1.1	192.168.1.20	TCP	60	48500 → 56850 [FIN, ACK] Seq=19 Ack=35 Win=29200 Len=0
906	07:11:01.191789	192.168.1.20	192.168.1.1	TCP	60	56850 → 48500 [ACK] Seq=35 Ack=20 Win=8192 Len=0
907	07:11:01.192518	192.168.1.20	192.168.1.1	TCP	60	56850 → 48500 [RST, ACK] Seq=35 Ack=20 Win=0 Len=0
972	07:11:03.193835	192.168.1.20	192.168.1.1	TCP	60	63887 → 48500 [SYN] Seq=0 Win=8192 Len=0 MSS=1460
973	07:11:03.194178	192.168.1.1	192.168.1.20	TCP	60	48500 → 63887 [SYN, ACK] Seq=0 Ack=1 Win=29200 Len=0 MSS=1460
974	07:11:03.194253	192.168.1.20	192.168.1.1	TCP	60	63887 → 48500 [ACK] Seq=1 Ack=1 Win=8192 Len=0
1012	07:11:04.331419	192.168.1.1	192.168.1.20	TCP	60	[TCP ACKed unseen segment] 48500 → 63887 [ACK] Seq=1 Ack=18 Win=29200 Len=0
[COLOR=#ff0000]1013	07:11:04.332133	192.168.1.20	192.168.1.1	TCP	71	[TCP Spurious Retransmission] 63887 → 48500 [PSH, ACK] Seq=1 Ack=1 Win=8192 Len=17[/COLOR]
[COLOR=#00ff00]1014	07:11:04.379225	192.168.1.1	192.168.1.20	TCP	63	48500 → 63887 [PSH, ACK] Seq=1 Ack=18 Win=29200 Len=9[/COLOR]
[COLOR=#ff0000]1016	07:11:04.453748	192.168.1.20	192.168.1.1	TCP	71	63887 → 48500 [PSH, ACK] Seq=18 Ack=10 Win=8192 Len=17[/COLOR]
	Aber wie muss ich die anderen Daten Verstehen? Zählt das alles auch zu den Daten die von so einem Sim Datenpaket abgezogen wird? Das sind ja dann jeweils 200 bytes pro sekunde oder?
Wenn ja, wie könnte ich das verhindern?