FAQ | Frequently asked questions about PLCcom for S7
Welcome to our FAQ section PLCcom for S7!
Here you will find answers to the most frequently asked questions about our software. Whether technical details, installation aids or use cases - we have compiled the most important information for you to make symbolic access to S7 controllers with PLCcom as easy as possible.
PLCcom for S7 is available in two versions:
- .net-Version
The .net version supports the classic .Net Framework-Programming from framework version 4.7.2.
Furthermore, the delivery package contains versions for .Net-Standard Version 2.1 and from .Net 5.0.
In addition, a NuGet package is provided at nuget.org. - Java version
The Java version provides developers with a Java component for Java application development, e.g. with Eclipse or Netbeans.
Since version 9, the development of Android apps is also supported.
The following system components are required for the operation of PLCcom:
- Microsoft .net Framework 4.7.2 or newer (.net Version)
- Microsoft .net 5.0, or newer (.net version)
- Java JRE / openJRE 11.23 or newer (Java version)
(Please note: Java version 12 is not supported due to tls 1.3 issues) - Android API 21 or higher (Java version)
- External component Jssc to provide serial ports for Java (Java Version, but not for Android see chapter "Important notes on using PLCcom on Android")
- External component gson (Java version)
To execute code examples:
- Visual Studio 2019 or newer (.net version)
- Netbeans in current version (Java version)
- Eclipse in current version (Java version)
Yes, PLCcom runs in 32-Bit- and 64-Bit-environments.
You can embed the driver directly as a link; API calls are not necessary.
It is no problem to use the component in 32- or 64-Bit-environments, as well as across platforms.
PLCcom is compatible with S7 controllers (200, 300, 400, 1200, 1500 series, ET200, SoftPLC WinAC RTX and Logo! 0BA7, 0BA8, 0BA0, 0BA1 and 0BA2) and other manufacturers (e.g. VIPA 100V/200V/300V/300S).
Yes, with “PLCcom for S7” you can access S7 controllers from the 1200, 1500 and ET200SP series via symbolic access.
It is possible to read, write and subscribe to variables in optimized and non-optimized areas in a symbolically addressed way.
Please note the specially described requirements that must be fulfilled on the PLC side.
- The controller software must have been created with at least TIA version 17.
- If software components were created with an earlier version, they must be recompiled and transferred with TIA version 17 or higher. The same applies to the hardware configuration of the PLC.
- At least the following firmware versions are required:
- S7-1200 series with firmware versions V4.5, tested and validated up to version 4.6
- S7-1500 series from firmware version V2.9, tested and validated up to version 3.1
- S7-ET200SP series from firmware version V2.9, tested and validated up to version 3.1
- If a password has been assigned at controller level, you must have it. The password can be transferred up to firmware version 3.0 (1500 and ET200SP series) or 4.6 (S7-1200 series). For higher firmware versions, the login mechanism has changed on the PLC side; the new “Anonymous” user must be configured and enabled in the PLC.
Important, firmware version 3.1 (S7-1500 and ET200SP) or 4.7 (S7-1200) and higher: Configuration of the “Anonymous” user for symbolic access.
- Go to “Security settings” in the project navigation.
- Double-click on “Users and roles”.
- Select the “Roles” tab.
- Create a new role and assign a name, for example “symb_Access”.
- Open the “Runtime rights” tab.
- Select the corresponding PLC from the “Functional rights categories”.
- Activate the desired access level “Full access”, “HMI access” or “Read access” in the “Function rights”.
- Go to the “Users” tab in the “Users and roles” area.
- Activate the user “Anonymous”.
- Confirm the displayed message with “OK”.
- Assign the newly created role to the anonymous user under “Assigned roles”.
- Save the configuration, translate the project and transfer the changes to the CPU.
If you use absolute addressing (Put/Get) for access, you can only access non-optimized blocks. However, if you use symbolic addressing, you can access non-optimized and optimized areas.
Access to an S7-1200- 1500- or ET200SP is deactivated by default. To activate it, you must carry out the following steps:
Up to firmware version 3.0 (S7-1500 and ET200SP) or 4.6 (S7-1200)
- Allow the general access. Activate in the property settings section protection the option 'Connection mechanism - Allow access PUT/GET communication from remote partner.
- Enable access to your DBs. Go to DB properties and deactivate 'optimized access'.
- Load to PLC, done!
If the changes don't have any effect, use 'extended download to device' to load to PLC.
Firmware version 3.1 (S7-1500 and ET200SP) or 4.7 (S7-1200) and higher:
- Go to “Security settings” in the project navigation.
- Double-click on “Users and roles”.
- Select the “Roles” tab.
- Create a new role and assign a name, for example “HMI_Access”.
- Open the “Runtime rights” tab.
- Select the corresponding PLC from the “Functional rights categories”.
- Activate the “HMI access” access level in the “Function rights”.
- Go to the “Users” tab in the “Users and roles” area.
- Activate the user “Anonymous”.
- Confirm the displayed message with “OK”.
- Assign the newly created role to the anonymous user under “Assigned roles”.
- Open the “Device view”.
- Go to the “Properties” of the CPU.
- Select “Protection & Security > Connection mechanisms” in the area navigation.
- Activate the option “Allow access via PUT/GET communication by remote partner”.
- Save the configuration, translate the project and transfer the changes to the CPU.
Due to the lack of serial ports, it is not possible to use the following objects on Android:
PLCCom.MPI_Device
PLCCom.PPI_Device
Attempting to create an instance of the above classes ends with an error of type java.lang.NoClassDefFoundError
Furthermore, the usage of the PLCCom.FileSystemConnector object must be at least Android API Version 26 or higher, in deviation to the above mentioned information.
Due to the general system conditions under Android, it is assumed that the use of the above-mentioned objects on Android does not matter and the restrictions are negligible.
It is possible to access inputs, outputs, flags and accessible DBs. The access to a logo! plc is disabled by default. You have to process the following steps:
1. Choose Extras >> Ethernet-Connection (Context menu) new connection:
2. Use the following settings:
3. Save and load to the plc, done!
Pure runtime licenses can be passed on to your customers free of charge together with your compiled application.
However, if your customer wants to further develop the software or open the source code of your application, they will need their own license.
In the download package, extensive programming example objects, as well as a HTML documentation are included.
Download current version of documentation:
The network participants must be able to connect with the network. The connection must not be interrupted by a firewall or similar. In particular, the port 102 in the direction of the PLC must be open.
PLCcom's license model is kept as simple as possible.
All licenses are provided as developer licenses.
The Professional, Expert or Expert Symbolic licenses, which are subject to a charge, entitle an individual developer to the commercial/commercial development of individual software (see EULA for definition) with the PLCcom component.
If you need a free license for non-commercial use for a school/university, etc., please contact us by e-mail at [email protected]. We will then contact you promptly by e-mail.
To get the licenses you have the following possibilities:
- on our website
- by sending an email to [email protected]
- by phone at +49 421 989703-30
You must transfer the submitted license key within your software to the PLCcom entity.
Extensive examples can be found in the online documentation or the delivered software package.
In this case, we recommend the use of a company license.
Please contact us about [email protected] and we will be happy to provide you with a quote.
The data you enter will be stored confidentially in accordance with the GDPR.
The data will only be processed for internal purposes such as license management, newsletters, etc. It will not be passed on to third parties. For further details, please refer to our privacy policy.