Versions and new features PLCcom for S7

New features in 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


New features in Version 11.1.2 (.net version only
  • Reference upgrade System.Io.Ports to version 5


New features in Version 11.1.1
  • 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


New features in Version 10.5.1
  • Bugfix, error -125 when writing values with the S7STRING data type fixed


New features in Version 10.4.3 (.net version only)
  • Bugfix, occurring error "Resource file not found" fixed


New features in Version 10.4.2 (.net version only)
  • Bugfix, missing library "winmm.dll" when running under Linux operating systems
  • Internal optimizations


New features in Version 10.3.1
  • Performance optimization at read option 'Auto'
  • Support new firmware versions


New features in Version 10.2.1
  • Backward compatibility problem fixed
  • PLCcomDatServer.AddReadDataRequest (ReadDataRequest value, String ItemKey) function reintroduced
  • Internal optimizations


New features in Version 10.1.1
  • 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


New features in Version 9.1.7
  • Bugfix - Possible deadlog at request of long data values with optimizemode AUTO


New features in Version 9.1.5
  • Internal optimize


New features in Version 9.1.1
  • 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
all enum ePLCType.Logo_compatibel ePLCType.Logo0BA7_compatibel oder
all enum eDataType.UNICODECHAR eDataType.STRING oder
all enum eDataType.BCD eDataType.BCD16
all object ReadItemRequest ReadDataRequest
all object ReadItemRequestCollection ReadWriteRequestSet
all object ReadRequest ReadDataRequest
all object WriteRequest WriteDataRequest
all object ReadItemResult ReadDataResult
all object ReadItemResultCollection ReadWriteResultSet
all object ReadResult ReadDataResult
all 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)
(ReadDataRequest value)
Java function PLCComDataServer.addReadDataRequest
(ReadDataRequest value, String ItemKey)
(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 functionality  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()
New features in Version 8.4.1
  • Only Java Bugfix connection error to a WinAC RTX PLC
  • Fix: Possibly error while reading large data
  • Assamblies singed with code singing certificate
New features in Version 8.3.0
  • Bugfix wrong month reading DATE_AND_TIME values

New features in Version 8.2.7
  • Bugfix a possible timeout if running the "IsConnected" function from a second parallel thread

New features in Version 8.2.5
  • Resolving compatibility issues when communicating with 1500 firmware with older firmware

  • Adapting the behavior of the telegram traffic with 1500 control in case of network problems

New features in Version 8.1.3 (only for the .Net Versions)
  • Unnecessary debug outputs were removed
New features in Version 8.1.0
  • Improved firmware version support
  • Optimized communication process
  • Bug fix eventually 0 values while communication to WinAC RTX plc
  • various little bug fixes

New features in Version 7.7.0
  • Bug fix 0 Reference error / DataImage logging
  • Bug fix writing data

New features in Version 7.6.0
  • Improved Stability behavior
  • faster recognition of TCP - disconnections
  • Bug fix When connecting to ALREADY otherwise affiliated Logo ! 0BA8- controls
New features in Version 7.5.0
  • Write flags while setting a datablock
New features in Version 7.4.1
  • New supported Data Types: Time of Day, Time, Date, BCD8, BCD16, BCD32, BCD64
  • The existing format BCD is replaced by BCD16
  • Bug fix: Error handling zero-based strings

New features in Version 7.3.0 (Only for the .Net and WinCE Versions)
  • Fixed signature problems

New features in Version 7.2.0
  • Bug fix: Writing more than 485 Bytes in a S7 1500er PLC

New features in Version 7.1.0
  • 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 your SPS (expert version only)
  • Appropriation of logging connectors for: (expert version only)
    o Continuously logging SPS data to file system or SQL data base
    o Writing of a latest SPS data copy to file system or SQL data base for further usage
    o Encrypted stacking of files within file systems
    o 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 bug fixes
  • complete work-over of example- and testing-programs
New features in Version 6.14.0
  • Bug fix, Reading S7-Strings, if actual lenght equals max lenght
New features in Version 6.11.0
  • Bug fix: Reading Flags (from Version 6.10.0)

New features in Version 6.10.0
  • internal improvement
  • More bug fix: Blocks more 113 objects
  • Bug fix when DB-number > 9999

New features in Version 6.9.0
  • internal improvement
  • Bug fix: Blocks more/equal 113 objects
  • Bug fix: Timeout problems at MPI connection
New features in Version 6.8.0
  • Bug fix when reading many data blocks (GetBlocklist)
New features in Version 6.6.0 (Only for the Java Version)
  • Bug fix: Error if optimize of readcollections is deactivated
  • Rename: Function: setoptmize to setoptimize
  • Deprecated setlength
New features in Version 6.5.1 (Only for the Java Version)
  • Bug fix: Read / write S7Strings longer than 127 Bytes
  • Added: Read unsigned Bytes
New features in Version 6.4.5
  • Bug fix >> Error during write of multiple blocks when the PLC has not much free memory available
New features in Version 6.4.2
  • Bug fix >> NullReferenzException occurred while read a ReadItemRequestCollection and the device is not connected
New features in Version 6.3.1
  • Added Datatype S5 Time
New features in Version 6.2.7
  • 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)
New features in Version 6.2.6
  • Bug fix >> Error occurred while adding an item when optimization is enabled
New features in Version 6.2
  • 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
  • Bug fix (timeout while changing the clocks (summer/winter))
  • Bug fix 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...
New features in Version 5.1 
  • Compatible with Siemens Soft PLC WinAC RTX 2010
  • Compatible with Siemens PLC of the 1500s series
  • Supports the .Net Framework 4.5
  • Bug fix GetPLCTime
  • Performance optimizations for access with TCP-IP
  • Bug fix when addressing Rack + Slot
New features in Version 4.0.4 (Only for the .NET Version)
  • Bug fix GetPLCTime
  • Bug fix result output when writing
New features in Version 4
  • 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.
New features in Version 3.1.6 (only for the Java Version)
  • Bug fix write Int
New features in Version 3.1.5
  • any potential problems with VIPA-CPUs fixed
New features in Version 3.0.1
  • Support of S7 1200er model series
New features in Version 2.7.1 (only for the .NET Version)
  • .NET Framework 4  compatible
New features in Version  2.6.9 (only for the JAVA Version)
  • Bug fix read Byte
New features in Version 2.6.8 (only for the JAVA Version)
  • Bug fix write Dword
New features in Version 2.6.7 (only for the JAVA Version)
  • Bug fix bei "ADDWORD"
New features in Version 2.6.4
  • Bug fix at event. „Write errors of Bits"
New features in Version 2.6.2
  • Bug fix SetPlcTime
New features in Version 2.6
  • 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
New features in Version 2.4
  • Supports communication via PPI Protocol
New features in Version 2.1
  • 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