
                                Version history

                                      ADS       

                OPC server and FIX driver for TwinCAT ADS communication
                             
                                  Version 7.52 
                              
                                Date: 14.03.2026
                             

                                 Version history
==================================================================================================================
Build 118   Sloved problems
        - If the ADS driver had to process a very large number of write requests (> 50/sec) immediately after iFIX started, the I/O address for some iFIX tags could be corrupted,  resulting in access to an incorrect address on the PLC.

Build 117   Solved problems
        - After reloading the TwinCAT project, no more values could be written from the ADS driver to the PLC.

Build 116   Solved problems
        - Symbols of array variables of a structure type were displayed with data type 'VOID' if the type name in the array declaration was not 
          case-sensitively equal to the type name of the structure type. 
          Example: 
             Type Declaration: StructType1 ...; 
             Variable Declaration: SymbolA ARRAY {0..9] OF Structtype1
             
          
Build 115   Solved problems
        - The software now also runs under TwinCAT version 3.1.4026. The latest TcADSdll.DLL from this Twincat version has been integrated into the setup. 

Build 114   Solved problems
        - When symnols were loaded online from a TC3 PLC it could happen that some symbol paths were not completely resolved.
        
Build 113   New functions
        - To reduce the amount of shared memory for configurations with a large number of very short data blocks (which contains just a few or only a single variable)
          now the data block's shared memory size can be adjusted by the registry value 'DataBlockSizeInKB'. The default and also maximum value is 131 kByte (131000 bytes)
          The minimum value is 1 kByte or 1000 Bytes. If the registry value is not configured, the default size of 131 kByte is used.
          If the default size of 131 kByte is set, the maximum number of data blocks is limited to about 180, with a 'DataBlockSizeInKB' value of 1 kByte
          several thousand data blocks can be configured. 
        
            Sloved problems:
        - Symbol browsing from OPC failed at device level.
        - Multiple selected symbols in Power Tool symbol browse tree for star address selection.

Build 112   Sloved problems:
        - Import of a csv file failed due to an invalid value for the device's 'SymbolSource' property.
        
Build 111   Sloved problems:
        - This version now supports the extened INCOSOL license file format which allows to combine multiple licenses
          in a single license file.
          
Build 110   Solved problems:
        - Write operation to a digital register which points to a bit address of a analog symbol failed.
            New functions:
        - The Power Tool now accepts poll times less that 0.1 seconds
        
Build 109   Sloved problems:
	    - TC3 root symbols with leading dot (e.g.".CTR") were not loaded propery.
	    - Array with start index greater than zero were displayed with start index zero.

Build 108   Solved problems:
 (7.52)     - Symbols of enum types which are locally declared within a POU, were rejected in the iFIX data base.

Build 107   Solved problems:
 (7.52)     - Memory leak in ADSDrv.exe process when driver permanently generated information, warning and error messages 

Build 106   Solved problems:
 (7.52)     - iFIX register offset was limited to F_255. It has been extended to 4095.
	    - Simulation mode failed for various data types.
	    New functions:
	    - Additional device configuration field "Root Symbol Filter" allows to set one or multiple (separated by ';') root symbols. 
	      When such filter symbols are set the driver only loads these root symbols and its child symbols. Filterung by root symbols can
              drastically reduce the symbol load time.

Build 105   Solved problems:
 (7.52)     - Now the driver automatically reloads the symbol information when a new symbol file (.SYM or .TPY) is selected
              or when the symbol source changes from file to online. Note: The device has to be enabled and the driver has to be started (in RUN mode)!
	    - Selection of an array variable via OPC browser failed.
	    - ENUM data type is now supported.
	    New functions:
	    - The symbol tree list for the data base block's starting address now shows the roots symbols in grey color, which indicates
              that these symbols are not selectable. Furthermore the OK button is set to disabled for root symbols. 

Build 104   Sloved problems:
 (7.52)     - First child symbol of a root symbol could not be used for a block write control tag address (!BW_ON_OFF or !BW_EXE).
	    - During start-up of the driver the Power Tool was blocked for minutes when a very large (> 100000) symbol configuration was loaded.
            - Counting of requested messages was wrong when block write mode was set ON for the data block.
	    New functions:
            - In the device configuration a input field for a filter string was added. This filter string can set to one or multiple root symbols.
              Multiple symbols have to be separated by a semicolon. The driver only loads symbols whose root symbol match to one of the filter
              symbols. Using this filter can reduce the driver start-up time dramatically.  

Build 103   Sloved problems:
 (7.52)     - Symbols of elementary types at the root level were rejected as iFIX I/O addresses or OPC items. 
	      This problem occured with TwinCAT 3.1 Build 4022 but not with lower build numbers.
            - When writing a double real value the decimal digits were truncated res. set to zero. 

Build 101   New Functions:
(7.52)      - The driver now supports TwinCat 3/3.1 and allows to upload the symbols information from the
              PLC runtime system.
	    - Support for double real (LREAL) data type

Build 101   Solved problems:
(7.50)      - The driver now accepts the CSV separation characters “,” or “;” for
	      the CSV import files, independent on how the list separation character 
              is set in the system’s regional settings.
            - In data block configuration dialog the context sensitive help (F1) is available now.

Build 100   New FUnctions:
(7.50)	    - Online Help is now available

Build 101   Solved problems:
            - Signal conditioning functions HWOU and HWOS were ignored when writing a value to the PLC.

Build 100   New FUnctions:
(7.40)	    - Driver now supports Windows 7 and Server 2008
	

Build 120   Solved problems:
(7.20)      - ADS error 1877 occured when multiple devices addressed different ADS ports (runtime systems) 
              on the same ADS Net ID.

Build 117a  Solved problem:
            - ADSSIG.DLL caused an exception fault of the iFIX database builder

Build 117   Solved Problems:
            - Block write now supports string variables

Build 116   New Functions:
            - NIO simulation mode now allows to run the driver without "real" TWincat PLC target
            - The control tag !ConState:<Device Name> provides the ADS return code of the last ADS function call. 
              This value can be used to determine if the connection to the PLC is ok (value 0) or failed (value > 0)
	      See TwinCat information system, chapter "TwinCat Connectifity->TwinCAT ADS->ADS return codes" for a 
              detailed list of all ADS return codes and their meaning

Build 115   Solved Problems:
            - Block write could cause a crash of the ADSDRV.EXE process. 
            - Now devices with same ADS Net ID and port number are allowed, thus it is possible to configure multiple devices
              which addressing the same TwinCAT Runtime system.

Build 114   New Functions:
	    - The driver now allows the use of iFIX register blocks and indexed addressing for TwinCAT array variables. 
              Furthermore a iFIX digital block can be configured with an I/O address of a TwinCAT analog variable

Build 100   Initial version
            
            
