Knowledge Base Nr: 00224 spsserver.txt - http://www.swe-kaiser.de

Downloads:

Linux: SPSServer - Socketschnittstelle zu S5, S7, Wago Ethernet-Feldbus, PC-Relaiskarte

  
der spsserver stellt in etwa die gleiche funktionalität wie ein opc-server zur verfügung.
er vereinheitlicht die schnittstelle zu unterschiedlicher hardware. es gibt eine ascii und binary
socketschnittstelle. die ascii-schnittstelle kann z.b. mittels telnet genutzt werden (standardport:4711).
zur implementierung der schnittstelle zur S5/S7 wird der IPToolkit von Inat (www.inat.de) benutzt.

zwischengepuffertes lesen:

GET 1 SPS1 B100.4.2 /Liest Bitnr.2 aus Bytenr.5 DB100 (Offset 4)
GET 1 SPS1 C100.4 /Liest Bytenr.5 aus DB100 (Offset 4)
GET 2 SPS1 W100.4 /Liest 16bit-Wort aus DB100 (Bytes 5/6)
GET 3 SPS1 D100.4 /Liest 32bit-Doppelwort aus DB100 (Bytes 5/6/7/8)
GET 4 SPS1 R100.4 /Liest Realwert aus DB100 (Offset 4, Bytes 5/6/7/8)
GET 5 SPS1 M2.0 /Liest niederwertigstes Bit von Merkerbyte 3
GET 6 SPS1 M3.7 /Liest höchstwertigstes Bit von Merkerbyte 4
GET 7 SPS1 M3 /Liest Merkerbyte 4

direktes lesen von sps:

FETCH 1 SPS1 B100.4.2 /Liest Bitnr.2 aus Bytenr.5 DB100 (Offset 4)
FETCH 1 SPS1 C100.4 /Liest Bytenr.5 aus DB100 (Offset 4)
FETCH 2 SPS1 W100.4 /Liest 16bit-Wort aus DB100 (Bytes 5/6)
FETCH 3 SPS1 D100.4 /Liest 32bit-Doppelwort aus DB100 (Bytes 5/6/7/8)
FETCH 4 SPS1 R100.4 /Liest Realwert aus DB100 (Offset 4, Bytes 5/6/7/8)
FETCH 5 SPS1 M2.0 /Liest niederwertigstes Bit von Merkerbyte 3
FETCH 6 SPS1 M3.7 /Liest höchstwertigstes Bit von Merkerbyte 4
FETCH 7 SPS1 M3 /Liest Merkerbyte 4

# S5 set/get db
set 13 russ d99.3 287454037
get 23 russ d99.3
set 33 russ w99.3 13141
get 43 russ w99.3
get 73 russ c99.7
get 83 russ b99.7.0
get 553 russ b99.7.7
set 663 russ r99.3 123.456
get 773 russ r99.3

# S5 set/get merker 4660dez -> 1234hex
set 13 russ m100 4660
get 23 russ m100
get 33 russ m100.0
get 883 russ m100.15

# S5 fetch db
fetch 13 russ d99.3
fetch 23 russ w99.3
fetch 33 russ w99.4
fetch 43 russ c99.7
fetch 53 russ b99.7.0
fetch 223 russ b99.7.7
fetch 333 russ r99.3

# S5 fetch merker
fetch 13 russ m100
fetch 23 russ m100.0
fetch 773 russ m100.15

# S7 set/get db
set 13 kne d3.30 287454037
get 23 kne d3.30
set 33 kne w3.30 13141
get 43 kne w3.30
get 73 kne c3.70
get 83 kne b3.70.0
get 553 kne b3.70.7
set 663 kne r3.30 123.456
get 773 kne r3.30

# S7 set/get merker 4660dez -> 1234hex
set 13 kne m100 35
get 23 kne m100
get 33 kne m100.0
get 103 kne m100.7

# S7 fetch db
fetch 13 kne d3.30
fetch 23 kne w3.30
fetch 43 kne c3.70
fetch 53 kne b3.70.0
fetch 223 kne b3.70.7
fetch 333 kne r3.30

# S7 fetch merker
fetch 13 kne m100
fetch 23 kne m100.0
fetch 93 kne m100.7