PLCcom for S7 - Downloads and resources
Welcome to the download area of PLCcom for S7!
On this page we provide you with the latest versions of our software as well as related documentation and other resources.
Whether you want to test the software or get started straight away - you will find everything you need here.
The libraries work without license information for 10 minutes per application start.
For longer test periods, please request a test license [email protected].
15.6.5

.net version
PLCcom for S7 Version 15.6.5
Variant 1 - .NET CLI
Variant 2 - Directly in the project file (.csproj)
Tools
PLCcom for S7 TestApp Version 15.6.5
Upload-Datum: 22.10.2025
Free test app (limited to reading operations)
Changelog PLCcom for S7
Version 15.6.5
- SBOM files for the .net and java versions are now available in the respective delivery package.
- Bugfix: Problem with handling bool arrays on 1200 controllers, which could occur with some firmware versions, has been fixed
- Bugfix: Problem with handling multidimensional bool arrays, which could occur with some firmware versions, has been fixed
- Bugfix Timeout when reading wstring arrays and wstring, which could occur on newer 1500 controllers, has been fixed
- Further internal adjustments and improvements
Version 15.6.3
- Program changes on the CPU are now detected during symbolic access. The library reacts to a software change with a disconnect.
- A symbolic connection can now be set up in dual-channel mode to increase performance. The data requests are then split between two parallel connections.
Activation via property: Device.SetDualChannelModeIsActive(true);
Note: This mode is currently classified as experimental, please test it thoroughly with your CPU/firmware combination before using it. - Bugfix: When reading DTL arrays, an error could occur depending on the CPU/firmware version.
Version 15.5.5
- Performance improvement when using the COMBINE_AREAS optimization type under Put/Get
- Further internal adjustments and improvements
Version 15.5.4 (.net version only)
- Troubleshooting when optimizing read areas with Put/Get
Version 15.5.3
- Adaptation, reading multiple longer strings from fail-safe (F-) controllers
Version 15.5.2 (.net version only)
- Revision of the bug fix from version 15.4.7 possible timeouts when reading large amounts of data from S7-300/400 controllers
Version 15.5.1
- Bugfix: Possible occurrence of problems with mixed reading of bits in combination with other data types under Put/Get and the "COMBINE_AREAS" optimisation
- Introduction of the IsSubscribable flag within the variableDetails for symbolic access
- Revision of the handling of structures within symbolic access.
- Further internal adjustments and improvements
Version 15.4.7
- Fix any timeouts that may occur when reading large amounts of data from S7-300/400 controllers
Version 15.4.6
- Bugfix problematic behavior when timeouts occur within the TLS handshake on very busy computers
Version 15.4.4 (Java version only)
- Bugfix possible occurrence of timeouts when writing a large number of variables
Version 15.4.3
- Bugfix Error during reconnect with symbolic access
- Bugfix: Problem establishing a TLS connection under some older Windows 10 versions
- Significant improvement in performance with symbolic access
- Update of direct and transitive dependencies (thirdparty, java version only)
- Extensive further internal adjustments and improvements
Version 15.3.6
- Bugfix for symbolic legacy access if the telegram length exceeded 1024 bytes
- Bugfix: Problems could occur if the integrating application used certain TLS providers.
- Bugfix for transferring login information for Targetframework 4.7.2 and 4.8
- Partial improvement in performance with symbolic access
- Updating the direct and transitive dependencies (thirdparty)
- Further internal adjustments and improvements
Version 15.3.3
- Bugfix for transferring autoconnect timeouts for symbolic access
- Further internal adjustments and improvements
Version 15.3.1
- Adaptation to newer Logo! controls
- Bugfix: Error when writing S7Strings and Date values
- Further internal adjustments and improvements
Version 15.2.8
- Performance improvements for access via Put/Get
- Various internal adjustments, bug fixes and improvements
Version 15.2.2
- Support for controllers configured with TIA20
- Symbolic legacy access for S7-1200 and S7-1500 controllers which have a firmware version lower than 2.9 (S7-1500 ) or 4.5 (S7-1200), or have been programmed with TIA version lower than V17
- Symbolic access via TLS to control units possible by logging in with user+password
- Access to the alarm system with 1200 and 1500 series control units
- Acknowledging alarms with 1200 and 1500 control units
- Significant performance improvements for access via Put/Get
- Various internal adjustments, bug fixes and improvements
- The existing editions have been merged into a single joint edition to simplify matters
Version 14.1.14
- Bugfix: Incorrect reading and writing of DTL values with absolute addressed access
Version 14.1.12 (.net version only)
- Bugfix: incorrectly assembled Nuget package
Version 14.1.11
- Bugfix: Improved connection quality when connecting to the TIA Simulator
- New: Support for symbolic access to ET200SP controllers
Version 14.1.10 (java version only)
- Bugfix: in some cases an error could occur due to an incorrect certificate in the library
Version 14.1.9
- New: Enable password transfer to enable the connection for symbolic access
- Bugfix: Error when reading and writing WString values
- Bugfix: Error when reading and writing Date_and_Time, LDate_and_Time, Time_of_Day and LTime_of_Day variables
Version 14.1.7
- New: Symbolic reading, writing and retrieval of data from S7-1200/1500 controllers
- Support of Logo control units 0BA01 and 0BA02
- Support of the .Net 8.0 framework (.Net version)
- Support / test Jdk/Openjdk from version 11.23 to version 21 (Java version)
(Please note: Java version 12 is not supported due to tls 1.3 issues)
- Release of the following data types for all framework versions (.Net version):
- LTime*
- LDate_And_Time*
- LTime_of_Day*
- DTL*
- Adaptation and test with modified PLC firmware versions
- Various adjustments to identifiers in order to comply with the naming conventions of the respective programming environment. Please refer to the document:
https://www.indi-an.com/help_s7/Important_notes_for_migrating_from_version_12_or_older_english.pdf - Bugfix: Incorrect addressing when writing bits in write mode Cross_Area
- Diverse internal adjustments and improvements
Version 12.1.5
- Support for .Net 7.0 framework (.Net version)
- Support / test Jdk/Openjdk up to version 19 (java version)
- Implementation of new data types:
- Lint
- LWord
- LReal
- S7WString
- LTime*
- LDate_And_Time*
- LTime_of_Day*
- DTL*
- Adaptation and test with modified PLC firmware versions
- Bugfix: When writing S7String values the length specification was not set correctly
- Diverse internal adjustments and improvements
*) Verfügbar in der java Version und innerhalb der .Net Version ab .Net 7
Version 11.2.1 (.net version only)
- Bugfix: Problem when integrating the library into a net5.0 project
- Bugfix: After restarting the PLCcomDataServer, the quality is incorrectly output as undefined
- Sample projects in the delivery package are now also available for the target platform net5.0
- Reference upgrade System.Io.Ports to version 5
- Support of the .Net 5.0 framework
- Nuget package available
- .NET Framework version at least 3.5
- Adaptations for new PLC types and firmware versions
- Bugfix: Error -125 when writing values with the S7STRING data type fixed
- Bugfix: Occurring error "Resource file not found" fixed
- Bugfix: Missing library "winmm.dll" when running under Linux operating systems
- internal optimizations
- Performance optimization at read option 'Auto'
- Support new firmware versions
- Backward compatibility problem fixed
- PLCcomDatServer.AddReadDataRequest (ReadDataRequest value, String ItemKey) function reintroduced
- internal optimizations
- Supports Logo! 0BA0 controls
- Provision as .Net Standard 2.1, .Net3.5 and .Net 4.6.1 Library (.net Library)
- improved adjustments when using openJRE / openJDK system libraries (java library)
- Execution under Android from Api 21 (java library)
- new possibility to parameterize the balance between CPU usage and speed of data provision (new enum ePerformance)
- improved support for new firmware versions of 1200 and 1500 controllers
- internal bug fixes and improvements
- Bugfix: Possible deadlog at request of long data values with optimizemode AUTO
- internal optimizations
- Component is now available for .net-Standard, .net-Core, Xamarin, UWP and Android
- new function ReadWriteData for optimized reading and writing data
- simultaneous reading or writing of data in a function call in different areas
- new optimization methods CROSS_AREA (Mix-Mode) and COMBINE_AREAS
- automatic calculation of the best optimization mode (only in Expert Edition)
- various internal improvements of the algorithms
As part of the cleanup, various methods and functions have been removed.
These functionalities were already marked as deprecated within the previous versions and should therefore no longer be used for a long time.
The following functions have been removed:
| Version | type | removed function | Instead, functionality to use |
|---|---|---|---|
| Alle | enum | ePLCType.Logo_compatibel | ePLCType.Logo0BA7_compatibel oder ePLCType.Logo0BA8_compatibel |
| Alle | enum | eDataType.UNICODECHAR | eDataType.STRING oder eDataType.S7_STRING |
| Alle | enum | eDataType.BCD | eDataType.BCD16 |
| Alle | object | ReadItemRequest | ReadDataRequest |
| Alle | object | ReadItemRequestCollection | ReadWriteRequestSet |
| Alle | object | ReadRequest | ReadDataRequest |
| Alle | object | WriteRequest | WriteDataRequest |
| Alle | object | ReadItemResult | ReadDataResult |
| Alle | object | ReadItemResultCollection | ReadWriteResultSet |
| Alle | object | ReadResult | ReadDataResult |
| Alle | object | WriteResult | WriteDataResult |
| .Net | method | PLCcomDevice.SetPLCTime(DateTime) | PLCcomDevice.SetPLCClockTime (DateTime) |
| Java | method | PLCcomDevice.setPLCTime(Calendar) | PLCcomDevice.setPLCClockTime (Calendar) |
| .Net | function | PLCcomDevice.GetPLCTime() | PLCcomDevice.GetPLCClockTime() |
| Java | function | PLCcomDevice.getPLCTime() | PLCcomDevice.getPLCClockTime() |
| .Net | function | PLCComDataServer.AddReadDataRequest (ReadDataRequest value, String ItemKey) |
PLCComDataServer.AddReadDataRequest (ReadDataRequest value) |
| Java | function | PLCComDataServer.addReadDataRequest (ReadDataRequest value, String ItemKey) |
PLCComDataServer.addReadDataRequest (ReadDataRequest value) |
| .Net | function | PLCcomDevice.GetLocal_MPI() | PLCcomDevice.GetBUS_ADRESS_LOCAL() |
| Java | function | PLCcomDevice.getLocal_MPI() | PLCcomDevice.getBUS_ADRESS_LOCAL() |
| .Net | method | PLCcomDevice.SetLocal_MPI(int) | PLCcomDevice.SetBUS_ADRESS_LOCAL(int) |
| Java | method | PLCcomDevice.setLocal_MPI(int) | PLCcomDevice.setBUS_ADRESS_LOCAL(int) |
| .Net | function | PLCcomDevice.GetPLC_MPI() | PLCcomDevice.GetBUS_ADRESS_PLC() |
| Java | function | PLCcomDevice.getPLC_MPI() | PLCcomDevice.getBUS_ADRESS_PLC() |
| .Net | method | PLCcomDevice.SetPLC_MPI int) | PLCcomDevice.SetBUS_ADRESS_PLC(int) |
| Java | method | PLCcomDevice.setPLC_MPI(int) | PLCcomDevice.setBUS_ADRESS_PLC(int) |
| .Net | function | PLCcomDevice.GetLocal_PPI () | PLCcomDevice.GetBUS_ADRESS_LOCAL() |
| Java | function | PLCcomDevice.getLocal_PPI () | PLCcomDevice.getBUS_ADRESS_LOCAL() |
| .Net | method | PLCcomDevice.SetLocal_PPI(int) | PLCcomDevice.SetBUS_ADRESS_LOCAL(int) |
| Java | method | PLCcomDevice.setLocal_PPI(int) | PLCcomDevice.setBUS_ADRESS_LOCAL(int) |
| .Net | function | PLCcomDevice.GetPLC_PPI() | PLCcomDevice.GetBUS_ADRESS_PLC() |
| Java | function | PLCcomDevice.getPLC_PPI() | PLCcomDevice.getBUS_ADRESS_PLC() |
| .Net | function | ConnectResult.HasConnected | OperationResult.getQuality |
| Java | function | ConnectResult.hasConnected() | OperationResult.getQuality() |
| .Net | function | ConnectResult.HasWorked | OperationResult.getQuality |
| Java | function | ConnectResult.HasWorked () | OperationResult.Quality() |
| .Net | function | BasicInfoResult.Ordernummer | BasicInfoResult.Ordernumber |
| Java | function | BasicInfoResult.Ordernummer() | BasicInfoResult.Ordernumber() |
Within the new version, the following functionalities have been marked as deprecated:
| Version | type | Deprecated | Instead, functionality to use |
|---|---|---|---|
| .Net | function | ReadData(ReadDataRequestCollection) | ReadWriteData(ReadWriteRequestSet) |
| Java | function | readData(ReadDataRequestCollection) | readWriteData(ReadWriteRequestSet) |
| Java | function | DeviceInfo() | getDeviceInfo() |
| Java | function | DisConnect() | disConnect() |
| Java | function | BeginConnect() | beginConnect() |
| Java | function | StartPLC() | startPLC() |
| Java | function | GetPLCClockTime() | getPLCClockTime() |
| Java | function | SetPLCClockTime(Calendar) | setPLCClockTime(Calendar) |
| Java | function | GetLEDInfo() | getLEDInfo() |
| Java | function | GetBasicInfo() | getBasicInfo() |
| Java | function | GetCPUMode() | getCPUMode() |
| Java | function | GetBlockList() | getBlockList() |
| Java | function | GetBlockLenght(eBlockType, int) | getBlockLenght(eBlockType, int) |
| Java | function | ReadPLCBlock_MC7(eBlockType, int) | readPLCBlock_MC7(eBlockType, int) |
| Java | function | WritePLCBlock_MC7(WritePLCBlockRequest) | writePLCBlock_MC7(WritePLCBlockRequest) |
| Java | function | DeleteBlock(eBlockType, int) | deleteBlock(eBlockType, int) |
| Java | function | GetDiagnosticInfo() | getDiagnosticInfo() |
| Java | function | GetSystemStatusList(int, int) | getSystemStatusList(int, int) |
| Java | function | BasicInfoResult.Ordernumber() | BasicInfoResult.getOrdernumber() |
| Java | function | BasicInfoResult.ModuleVersion () | BasicInfoResult.getModuleVersion () |
| Java | function | BasicInfoResult.FirmwareVersion () | BasicInfoResult.getFirmwareVersion() |
| Java | function | BasicInfoResult.Name () | BasicInfoResult.getName() |
| Java | function | CPUModeInfoResult.CPUModeInfo() | CPUModeInfoResult.getCPUModeInfo() |
| Java | function | CPUModeInfoResult.CPUStateInfo() | CPUModeInfoResult.getCPUStateInfo() |
| Java | function | LEDInfoResult.LEDInfo() | LEDInfoResult.getLEDInfo() |
| Java | function | OperationResult.InnerException() | OperationResult.getInnerException() |
| Java | function | OperationResult.Message() | OperationResult.getMessage() |
| Java | function | OperationResult.Quality () | OperationResult.getQuality() |
- only Java Bugfix connection error to a WinAC RTX PLC
- Fix: Possibly error while reading large data
- Assamblies singed with code singing certificate
- Bugfix: Wrong month reading DATE_AND_TIME values
- Bugfix a possible timeout if running the "IsConnected" function from a second parallel thread
- Resolving compatibility issues when communicating with 1500 firmware with older firmware
- Resolving compatibility issues when communicating with 1500 firmware with older firmware
Version 8.1.3 (only for the .net versions)
- unnecessary debug outputs were removed
- improved firmware version support
- optimized communication process
- Bugfix: Eventually 0 values while communication to WinAC RTX plc
- various little bugfixes
- Bugfix writing data
- Bugfix: 0 Reference error / DataImage logging
- improved stability behavior
- faster recognition of TCP - disconnections
- Bugfix: When connecting to ALREADY otherwise affiliated Logo ! 0BA8- controls
- Write flags while setting a datablock
- new supported Data Types: Time of Day, Time, Date, BCD8, BCD16, BCD32, BCD64
- the existing format BCD is replaced by BCD16
- Bugfix: Error handling zero-based strings
(only for the .Net and WinCE versions)
- fixed signature problems
Version 7.2.0
- Bugfix: Writing more than 485 Bytes in a S7 1500er PLC
-
Unification of class model for reading, writing and access to ReadCollection
-
detailed diagnostic output for every single request leading to an efficient error tracking
-
full support of Siemens Logo! 0BA8
-
Data server for event controlled variable monitoring on the SPS (expert version only)
-
Appropriation of logging connectors for: (expert version only)
- Progressive logging of SPS data to file system or SQL database
- Writing of a latest SPS data copy to file system or SQL data base for further usage
- encoded data storage to filesystem
- no limitation of database type while definition and handoff database connection by developer (Within the subfolder / docs you will find a list of all tested SQL data)
-
Performance optimized
-
smaller bugfixes
-
complete work-over of example- and testing-programs
Version 6.14.0
-
Bugfix: Reading S7-Strings, if actual lenght equals max lenght
-
Bugfix: Reading Flags (from Version 6.10.0)
Version 6.10.0
-
internal improvement
-
more bugfix: Blocks more 113 objects
-
Bugfix when DB-number > 9999
Version 6.9.0
-
internal improvement
-
Bugfix: Blocks more/equal 113 objects
-
Bugfix: Timeout problems at MPI connection
-
Bugfix when reading many data blocks (GetBlocklist)
-
Bugfix: Error if optimize of readcollections is deactivated
-
Rename: Function: setoptmize to setoptimize
-
Deprecated setlength
-
Bugfix: Read / write S7Strings longer than 127 Bytes
- Added: Read unsigned Bytes
-
Bugfix >> Error during write of multiple blocks when the PLC has not much free memory available
-
Bugfix >> NullReferenzException occurred while read a ReadItemRequestCollection and the device is not connected
-
Added Datatype S5 Time
-
property Speed in the base class PLCcomDevice implemented (only .Net-, and WinCE-versions)
-
getSpeed und SetSpeed in the base class PLCcomDevice implemented (only Java version)
-
Bugfix >> Error occurred while adding an item when optimization is enabled
-
Version release for Windows CE 5.0 and 6.0 (e.g. ARM-Processors)
- Support Siemens LOGO!-PLC (version 0BA7)
- Start / stop S7-1200 PLCs
- Get created Blocks
- Read block lenght
- Backup existing blocks
- Restore existing blocks
- Restore to diffent blocks
- Read block details e.g. creating language (AWL, KOP, etc.), author, version, rawdata, header, footer uvm.
- Read diagnostic buffer and return flat text messages
- Delete blocks
- send password to unlock connection of password-protected PLCs
- Support PLCSIM (from version 5.4 > requires installed Netgateway e.g. NetToPlcSim)
- Implementation abstract basis class to inherit of the device classes (TCP_ISO_DEVICE, MPI_DEVICE, PPI_DEVICE)
- Implementation of methods to direct writing of Strings and S7Strings with codepage or cultureInfo
- Reading basic informations while connecting device. Provide informations as BasicInfoResult from Property DeviceInfo
- Implementation of "Service-Connections" to control Logo!-PLCs
- Setting PLC communication port number of TCP-IP-Connections
- Setting local communication port number of TCP-IP-Connections(Important for firewall settings)
- Providing connection informations as ConnectionState
- Event implementation "On_ConnectionStateChange" while ConnectionState changes
- Implementation of asyncron connecting
- AutoConnect with adjustable waiting time till auto disconnect
- Mulit languages implementation (currently english (default) and german
- Read data from system state list (if existing)
- Reading PLC operating mode and status (run, stop, key position, etc.)
- Renewal the example application
- Increase in performance
- Bugfix (timeout while changing the clocks (summer/winter))
- Bugfix ReadItemResultCollection block greater than 2206
- Deprecated Methods read/write UniCode. New methods read/write Strings and S7Strings
- Implementation a quality enum type within result classes, to indicate kind of success (without parsing error texts as before)
- Rename return value of class BasicInfoResult from Ordernummer to OrderNumber
- Removal propertys Local_MPI, Local_PPI, PLC_MPI, PLC_PPI with propertys BUS_ADRESS_LOCAL and BUS_ADRESS_PLC in device classes. Local_MPI, Local_PPI, PLC_MPI, PLC_PPI marked as "deprecated"
- Removal functions GetPLCTime and SetPLCTime with functions GetPLCClockTime and SetPLCClockTime, and return a PLCClockTimeResult-object. GetPLCTime and SetPLCTime marked as "deprecated"
- internal Fixes...
-
compatible with Siemens Soft PLC WinAC RTX 2010
- compatible with Siemens PLC of the 1500s series
- supports the .Net Framework 4.5
- Bugfix GetPLCTime
- Performance optimizations for access with TCP-IP
- Bugfix when addressing Rack + Slot
-
Bugfix GetPLCTime
- Bugfix result output when writing
-
With the new upgrade, the PLCcomS7 Library achieves a significant performance increase for cyclically recurring read accesses.
A major innovation is the introduction of new "ReadItemCollection Objects", to which the variables to be read individually (e.g. individual DINT values) are added.
When reading, these variables are combined to optimum read accesses to the corresponding PLC. Thus, the necessary read accesses to the respective PLC are reduced to a minimum, which means a much improved performance, as opposed to individually requested variables.
Something else that is also omitted is the summary of variables into a stream by the software developer - this means that the development time is reduced significantly and this aspect also greatly simplifies the handling.
Internal process changes also ensure improved performance and stability.
-
Bugfix write Int
-
any potential problems with VIPA-CPUs fixed
-
Support of S7 1200er model series
-
.Net Framework 4 compatible
-
Bugfix read Byte
-
Bugfix write Dword
-
Bugfix for “ADDWORD”
-
Bugfix at event. „Write errors of Bits"
-
Bugfix: SetPlcTime
-
Starting and stopping the CPU
- Reading out serial number and firmware version
- Reading out Keyswitch setting
- Reading out LED info
- Reading and writing Date_and_Time values
-
Supports communication via PPI Protocol
-
Supports communication for SPS S7-200 via CP-243 (TCP/IP)
- capable of running and tested under Linux with Mono Framework 2.4
- various performance improvements
Documentation PLCcom for S7
PLCcom S7 documentation - Technical information and guides
PLCcom class library documentation for .net
PLCcom class library documentation for java
First steps PLCcom for S7
Helpful docs PLCcom for S7
Important notes for migrating from version8 or older
Important notes for migrating from version11 or older (java version)
Important notes for migrating from version12 or older
Application_Note_1200-1500_english.pdf
Application_Note_Logo_english.pdf
Documentation_PLCcom_database_interface_english.pdf
Documentation_PLCCom_interface_for_filesystem_english.pdf
Scripts PLCcom for S7
DB script Creation of PLCcom dbobjects Firebird.sql
DB-Script Creation of PLCcom dbobjects MSSQLServer.sql
DB-Script Creation of PLCcom dbobjects MySQL.sql
DB-Script Creation of PLCcom dbobjects oracle.sql
DB-Script Creation of PLCcom dbobjects PostgresSQL.sql
DB-Script Creation of PLCcom dbobjects SQLite.sql
You can find the complete functional range PLCcom for S7 here:
write functions:
| Datentyp | Zugriff |
|---|---|
| Raw (Byte Array) | Reading and writing |
| Bit | Reading and writing |
| Byte | Reading and writing |
| Word | Reading and writing |
| DWord | Reading and writing |
| LWord | Reading and writing |
| INT | Reading and writing |
| DINT | Reading and writing |
| LINT | Reading and writing |
| Real | Reading and writing |
| LReal | Reading and writing |
| BCD8 | Reading and writing |
| BCD16 | Reading and writing |
| BCD32 | Reading and writing |
| BCD64 | Reading and writing |
| Date | Reading and writing |
| Time | Reading and writing |
| LTime | Reading and writing |
| Date_And_Time | Reading and writing |
| LDate_And_Time | Reading and writing |
| Time_OF_DAY | Reading and writing |
| LTime_OF_DAY | Reading and writing |
| DTL | Reading and writing |
| S5Time | Reading and writing |
| Char | Reading and writing |
| String | Reading and writing |
| S7_String | Reading and writing |
| S7_WString | Reading and writing |
The following data types are supported for symbolic addressed reading and
write functions:
| Datentyp | Zugriff |
|---|---|
| Array[n..m] | Reading and writing allowed for the complete array and its individual elements |
| Bool | Reading and writing |
| Byte | Reading and writing |
| Word | Reading and writing |
| DWord | Reading and writing |
| LWord | Reading and writing |
| SInt | Reading and writing |
| Int | Reading and writing |
| DInt | Reading and writing |
| LInt | Reading and writing |
| USInt | Reading and writing |
| UInt | Reading and writing |
| UDInt | Reading and writing |
| ULInt | Reading and writing |
| Real | Reading and writing |
| LReal | Reading and writing |
| Date | Reading and writing |
| Time | Reading and writing |
| LTime | Reading and writing |
| Date_And_Time | Reading and writing |
| LDate_And_Time | Reading and writing |
| Time_Of_Day | Reading and writing |
| LTime_Of_Day | Reading and writing |
| S5Time | Reading and writing |
| Char | Reading and writing |
| WChar | Reading and writing |
| String | Reading and writing |
| WString | Reading and writing |
| Timer | Reading and writing |
| Counter | Reading and writing |
| CREF | Reading and writing allowed for the complete structure and its individual elements |
| NREF | Reading and writing allowed for the complete structure and its individual elements |
| DTL | Reading and writing allowed for the complete structure and its individual elements |
| ErrorStruct | Reading and writing allowed for the complete structure and its individual elements |
| IEC_COUNTER | Reading and writing allowed for the complete structure and its individual elements |
| IEC_DCOUNTER | Reading and writing allowed for the complete structure and its individual elements |
| IEC_LCOUNTER | Reading and writing allowed for the complete structure and its individual elements |
| IEC_LTIMER | Reading and writing allowed for the complete structure and its individual elements |
| IEC_SCOUNTER | Reading and writing allowed for the complete structure and its individual elements |
| IEC_TIMER | Reading and writing allowed for the complete structure and its individual elements |
| IEC_UCOUNTER | Reading and writing allowed for the complete structure and its individual elements |
| IEC_UDCOUNTER | Reading and writing allowed for the complete structure and its individual elements |
| IEC_ULCOUNTER | Reading and writing allowed for the complete structure and its individual elements |
| IEC_USCOUNTER | Reading and writing allowed for the complete structure and its individual elements |
| Struct | Read for the entire structure or individual elements, writing only for individual elements |
The following functions are also available (depending on the PLC type):
- Access via put/get or symbolic addressing
- Reading data blocks, inputs, outputs, data blocks, flags, timers, counters
- Multiple operations possible with one function retrieval; each operation provides a detailed return value
- Simultaneous access to multiple CPUs possible
- Implemented high-performance access, the required accesses to the PLC are reduced to the absolute minimum.
- Internal auxiliary and conversion functions for easy reading and writing of certain PLC data types.
- Provision of the PLCcom data server for cyclical read access with event-controlled notification of value changes
- Starting and stopping the CPU
- Reading out serial number and firmware version
- Reading out Keyswitch setting
- Reading out LED info
- Get and set PLC time
- Reading system status list SSL
- Readingblock list
- Reading length of block
- Backup of blocks
- Restore of blocks
- Restore of blocks under different block number
- Delete blocks
- Get block details e.g. code, create language, author, and much more
- Send the passwort for deactive the PLC protection
- Reading diagnostic data
- AutoConnect
- async connect
- and much more.

