libs7comm icon indicating copy to clipboard operation
libs7comm copied to clipboard

S7 communications protocol library, roughly based on libnodave

libs7comm

A simplistic (attempt at an) implementation of the S7 communications protocol, used to communicate with Siemens PLCs.

This work is inspired by the existing http://libnodave.sourceforge.net/[libnodave] code, which is a little hard to follow.

Objectives

To be able to read and write variables from/to a Siemens S7-300.

Target audience

Me. Just me. Don't use this, it'll turn your hair purple.

Build requirements

  • libpcap-dev
  • libcpputest-dev
  • gcc, g++, make

References

  • http://snap7.sourceforge.net
  • https://plc4x.incubator.apache.org/protocols/s7/s7comm.html
  • http://gmiru.com/article/s7comm/
  • https://www.promotic.eu/en/pmdoc/Subsystems/Comm/PLC/LOGO.htm
  • Wireshark epan/dissectors/packet-s7comm.c