S7 CMX – Java and .NET Drivers

Drivers for communication with Simatic S7 over TCP/IP

Simatic S7™ controllers make Ethernet connections possible. The S7 CMX software makes it possible to connect to an S7 controller from within a Java application via an RFC1006-compatible protocol. For this to be possible, the S7 must possess a communication module with an Ethernet connection (e.g. CP 343 or CP 443).

Reliability and risk assessments, combined with information from manufacturers’ specifications, expert recommendations and simulations using physical models, provide a robust basis for decision-making in the field of servicing and maintenance optimization. It is possible to optimize the conventionally defined intervals in order to minimize costs and machine and system downtimes while continuing to comply with safety-related, HSE and administrative constraints.

Possible applications for S7 CMX include:

  • Control and monitoring of assembly lines
  • Manufacturing documentation
  • Statistical process control (SPC)
  • Visualization

The connection protocol takes the form of OSI over TCP/IP in accordance with RFC 1006. In the S7 environment, this protocol is also referred to as “ISO-on-TCP” or CMX and permits telegram-oriented communication. Telegrams can be sent by S7 using the “AG_SEND” function. In each cycle, “AG_RECV” must be called in order to be able to receive telegrams again.

In Java, the connection is established using the class: com.sf.s7cmx.S7Connection. Here, telegrams can be sent using the “send” method. It is possible to receive telegrams by implementing the abstract method “receive”.

This results in communication based on the ISO/OSI model. TCP/IP and Ethernet are used for the actual data transfer. This telegram-based communication permits event-driven applications, i.e. the Simatic S7 PLC can trigger actions at the higher-level controller.

The achievable response times are in the order of approximately 100 ms. S7 CMX supports both active and passive mode. Thanks to the use of 100% Pure Java, the S7 communication module is available on all commonly used platforms. A demo version can be requested for evaluation purposes. The source code of a sample application and the documentation of the Java API are also supplied.

The Java versions 1.4, Java 6 and 7 are currently supported. The S7 CMX driver is also available as a .NET variant for Windows.


  • Implementation of OSI on TCP/IP according to RFC1006
  • Active / passive mode
  • Event-driven applications
  • Support for all commonly used platforms (Windows, Linux, UNIX)
  • 100% Pure Java
  • Object-oriented API
  • Response times of 100 ms possible

Contact us for questions or further information!


You can download the Simatic S7 Drivers flyer here: