I hope this clarifies it, it is copied from the web
http://snap7.sourceforge.net/Siemens communications overview
Snap7, by design, only handles Ethernet S7 Protocol communications.
Why only Ethernet ?
Having said that we are not talking about the fieldbus, but we are focusing on PC-PLC communications, Ethernet has several advantages against Profibus/Mpi :
· It’s faster, CP 1543-1 (for the newborn S71500) has a bandwidth of 1000 Mbps.
· It's more simply to troubleshoot, in 50% of cases a "ping" is good enough to solve your problems.
· It’s cheaper, you don’t need a special adapter to communicate (which, moreover, cannot not be used with any hardware and any virtual infrastructure as Snap7 does).
· If you use Snap7Server, many more non-Siemens panels/scada can be connected with your software.
Siemens PLCs, through their communication processors (CP) can communicate in Ethernet via two protocols:
Open TCP/IP and S7 Protocol.
The first is a standard implementation of the TCP/IP protocol, it's provided mainly to connect PLCs with non-Siemens hardware.
TCP/IP is a generic protocol, it only states how the packets must be transferred, and it doesn't know anything about their content.
Finally, TCP/IP is stream oriented (though Siemens FC/FB needs to packetize the data stream into blocks).
As said, it is a standard, so you don’t need of Snap7 to use it, your preferred socket libraries are perfectly suitable.