pvbrowser
Level-2
- Beiträge
- 477
- Reaktionspunkte
- 45
-> Hier kostenlos registrieren
Hallo,
in pvbrowser haben wir eine eigene Klasse zur Kommunikation mit Siemens SPS über TCP.
Darin wird das alte von der S5 bekannte Fetch/Write Protokoll,
als auch das aktuelle Protokoll für Siemens SPS unterstützt.
Was beim "reverse engineering" des Protokoll noch unsicher ist,
ist der Austausch der TSAP's am Beginn der Kommunikation.
Diese Bytefolgen haben wir als funktionierend herausgefunden.
------------------------------------------------------------------------------
| CB16 CB17 CB18
------------------------------------------------------------------------------
S7_200 | 2 'M' 'W'
------------------------------------------------------------------------------
S7_300 | 2 1 2
------------------------------------------------------------------------------
S7_400 | 2 1 3
------------------------------------------------------------------------------
S7_1200 | 2 1 0
------------------------------------------------------------------------------
LOGO | function rack+1 slot (LOGO 0BA7,
| client TSAP 01.00.
| server TSAP 20.00
| according to mhe_fr from our forum)
------------------------------------------------------------------------------
Es wurden auch schon Theorien aufgestellt:
# according to an unproofen theory siemens chooses the TSAP as follows
# connect_block[17] = 2; Function (1=PG,2=OP,3=Step7Basic)
# connect_block[18] = upper_3_bit_is_rack / lower_5_bit_is_slot
# if(function != -1) connect_block[17] = function;
# if(rack_slot != -1) connect_block[18] = rack_slot;
Der Quelltext unserer rlSiemensTCP Klasse kann hier eingesehen werden:
https://github.com/pvbrowser/pvb/blob/master/rllib/lib/rlsiemenstcp.h
https://github.com/pvbrowser/pvb/blob/master/rllib/lib/rlsiemenstcp.cpp
Man kann die Quellen hier herunterladen (ZIP oder git).
https://github.com/pvbrowser/pvb
Die rllib befindet sich dann im Unterordner pvb/rllib/lib
Es wäre schön, wenn jemand sachdienliche weitere Hinweise hätte.
in pvbrowser haben wir eine eigene Klasse zur Kommunikation mit Siemens SPS über TCP.
Darin wird das alte von der S5 bekannte Fetch/Write Protokoll,
als auch das aktuelle Protokoll für Siemens SPS unterstützt.
Was beim "reverse engineering" des Protokoll noch unsicher ist,
ist der Austausch der TSAP's am Beginn der Kommunikation.
Diese Bytefolgen haben wir als funktionierend herausgefunden.
------------------------------------------------------------------------------
| CB16 CB17 CB18
------------------------------------------------------------------------------
S7_200 | 2 'M' 'W'
------------------------------------------------------------------------------
S7_300 | 2 1 2
------------------------------------------------------------------------------
S7_400 | 2 1 3
------------------------------------------------------------------------------
S7_1200 | 2 1 0
------------------------------------------------------------------------------
LOGO | function rack+1 slot (LOGO 0BA7,
| client TSAP 01.00.
| server TSAP 20.00
| according to mhe_fr from our forum)
------------------------------------------------------------------------------
Es wurden auch schon Theorien aufgestellt:
# according to an unproofen theory siemens chooses the TSAP as follows
# connect_block[17] = 2; Function (1=PG,2=OP,3=Step7Basic)
# connect_block[18] = upper_3_bit_is_rack / lower_5_bit_is_slot
# if(function != -1) connect_block[17] = function;
# if(rack_slot != -1) connect_block[18] = rack_slot;
Der Quelltext unserer rlSiemensTCP Klasse kann hier eingesehen werden:
https://github.com/pvbrowser/pvb/blob/master/rllib/lib/rlsiemenstcp.h
https://github.com/pvbrowser/pvb/blob/master/rllib/lib/rlsiemenstcp.cpp
Man kann die Quellen hier herunterladen (ZIP oder git).
https://github.com/pvbrowser/pvb
Die rllib befindet sich dann im Unterordner pvb/rllib/lib
Es wäre schön, wenn jemand sachdienliche weitere Hinweise hätte.