
				Version history

 				      S7A

                OPC server and FIX driver for Siemens S7/S5 communication
                              
                         via Ethernet TCP/IP, MPI or Profibus

                               Version 7.20 
                                
                             Date: 20.12.2005
                             

                              Version history
===================================================================
Build 220 : Solved problems:
            - Own Address of CIF50 MPI/PB communication way was limited to 31. Now the limit is 126.
            - Bug-fix in PG-PC Interface (CP5611) communication way. Device could be disabled from 
              polling, after CP5611 sent a specific sequence of communication errors.

Build 219 : Solved problems:
            Improvements and new functions: 
	    - New Parameter "Max Gap (Bytes)" on  Setup parameter property page "Advanced" 
              When Data block auto create option is set on, then this parameter defines the
              maximum address gap between an existing and a new block at wich the driver automaticaly
              appends the new block to the existing. Is the adress gap greater, then the driver
              creates a new data block.
            - New Radio Button selection "Show Window" on  Setup parameter property page "Advanced"
              When the Yes Radio button is on, then the driver automaticaly opens its window which
              shows trace log messages useful for trouble shooting.
	    - New HTML Help 

Build 218 : Solved problems:
            - Problems with datablocks which has a length between 180 and 200 bytes.
            - Unsufficient exception handling in S7AMemory.Dll caused blocking of driver and
              all other clients (WSACTASK, Workspace, etc.) which reads data from the driver.
            - Error in MIX Read function could cause blocking of data blocks

Build 217 : Solved problems:
            - In configurations with data blocks which have a primary rate of zero (as fast as possible),
              it sometimes happened that write requests were "stuck" in the write queue.
 
            - Sporadic locks of data blocks after the driver was switched from the primary device to the 
              backup device

            Improvements and new functions: 
	    - Improved error and timeout handling on communication faults.
              The reply timeout on the device configuration page can no longer be configured. Instead 
              it will be derived from the TCP/IP timeout value, configured on the channel configuration page.
              The value (in seconds) of reply timeout always is 1 second higher than the TCP/IP timeout.
              This ensures, that the logical read/write request (time-limited by reply timeout value) 
              will not be cancelled (by timeout) before the physical request (time-limited by TCP/IP timeout value)
              is finished regulary or through the timeout.              

            - The NIO Simulation mode has been expanded. If it is set "ON" the polling of data blocks will be
              disabled, due to which no communication errors will arise, as long as a PLC hardware is not connected
              to the driver. In this mode the iFix data base blocks reads the value of zero or respectively, 
              the last value written to the driver`s output data area.


            - "!SyncPoll" and "!SyncSend" added to allow e.g. an EDA application to read/write a data block
              synchronously 

Build 216 : Solved problems:
(06.06.05)  - Reset of statistic counters failed

Build 215 : Solved problems:
(31.05.05)  - An error in the OLE interface methods ReadValue ()and WriteValue() was corrected.
              These functions can now be used for example,within the Excel program, to access data 
              block values.

            - Datablocks stopped polling after an 'unknown error' was returned by CP5611 

Build 214 : Solved problems:
            - Syncronous reads/writes from concurrent OPC clients now work properly
            New function:
            - Performance has been improved, especially in configuration with a lot of
              short data blocks.
            - system, channel, driver and data block static display has been extended 
           
Build 213 : Solved problems:
            - No reconnect after the MPI/Profibus connection between CP5611 and the PLC was aborted.
            - S7ADRV.EXE could crash on Multi Processor Systems or Systems with Hyperthreading
              when error messages (e.g. "Unable to connect to MPI station") were put to driver's log window
              from different threads concurrently.

Build 212 : Solved problems:
            - The AGLink error code -1268 (Unknown error message of the PLC) caused a 
              blocking of the device. Now the device will be closed and re-opened to 
	      recover the error.
            - under very seldom conditions a AGLink error caused a crash of S7ADRV.EXE

Build 211 : Solved problems:
            - Setup of TCP/IP parameters failed with error -510. Problem has been solved.
            - Problems in configurations with more than 8 devices within a channel has been solved
            - Import of CSV file from S7A Version 7.16 failed
	    - Failed to read the AG State
	    - Configuration of a backup IP address caused a driver crash when it tried to switch
              from primary to backup device

Build 210 : New functions:
            - Communication way MPI/Profibus using Siemens CPs (CP5611, 5613) added
            - Communication way MPI/Profibus using Hilscher CIF50 PB added
	    - Communication to "old" S5 series via TCP/IP added
            - The old Sentinel Keys will not supported any longer
            - Check Box "Disable comm alarming" in datablock configuration allows
              to suppress the COMM alarms of Tags who addresses a driver datablock 
              which is in communication error state.
            - Now the OPC server is OPC DA 2.05 complient

Build 210 : Solved problems:
            - Under Windows XP the driver crashed when network cable was not connected to ethernet card and
              the driver started.
	    - A communication error on a single device caused comm errors on all other devices of the channel

Build 201 : Solved problems:
            - CSV Import/export works now even for the new communication ways.

Build 200 : Solved problems:
            - Handle leakage when using asynchron read mode of OPC server. This
              problem was fixed by migration to OPC server toolkit version 7.20
	    New functions:
            - The driver now supports additional communication ways (serial adapter,
              NetLink adapter and Siemens CPs (eg. CP5611). It's no longer a pure
              TCP/IP driver but a general driver for Siemens S7 who allows to connect
              via TCP/IP, MPI bus or Profibus using different interface hardware (CPs).

Build 128 : Solved problems:
            - In big configurations with a lot of data blocks when
              a data block has been written it took to long until this data block
              was read back. Thus between the write and the read the clients (OPC or FIX)
              read the old data. Now after a write the driver reads the data block priorized.

Build 127 : Solved problems:
            - The addressing range for PLC's input area and output area has
              been extended from 0..255 bytes to 0..4095 bytes.
 
Build 126 : Solved problems:
            - Errors in manual and automatic block write functions has been fixed

Build 125 : Solved problems:
            - Very fast consecutive analog writes to the same data block caused 
              a crash of the S7ADRV.EXE process. This problem has been solved.

Build 124 : Solved problems:
            - Different communication problems has been solved. 
            - Design of message passing to driver window has changed to prevent
              the driver dead locks which occored under a very seldom conditions.
              
Build 123 : Solved problems:
            - Changing of the IP-Address while driver was running had no effect. This
              problem has been solved.

Build 122 : New functions:
            - Now the devices within a channel processing in parallel mode
            - Added "Bytes per Second" to device and channel statistics
            - Logging of read/write requests/responses into a log file is now configurable 
              for individual data blocks. File logging can basically be switched on/off at 
              register page "advanced" in power tool's setup screen. 
            - This version is already prepared to support the S7T loadable database block
              who will allow to work with the S7 TIME and TIME_OF_DAY data types in iFIX 
              database. 
            - Shared memory management has been changed to fix problems with large configurations
              and multi processor systems.
	    Solved problems:
            - In previous versions the S7 rack number had no effect. Now it will
              be mapped into the right bit positions of the "called TSAP" field when
              opening the ISO connection within the TCP connection.
            - An error in output simulations mode was fixed.
            - An error in auto creation of data blocks was fixed.

Build 121 : Solved problems:
	    - When the slot and rack number in the device setings has been
              changed, the new values wasn't used when the connection has been
              re-established. Now the change of these parameters take place
              immediately.
	      Fixed wrong display of Transmitted and Received counters of mission 
	      control's driver statistics
              
Build 120 : Solved problems:
	    - The OPC Server now supports read/write of Control-Tags (eg. !Send or 
	      !PollRate). Address syntax is equal to Tag I/O Address within FIX-Database.
            - Driver doesn't work when a channel with 8 devices was configured

Build 119 : Solved problems:
            - Timeout value of channel template was not stored, thus it had
              no effect when a new channel was added.
            - IP-Address of device template was not stored, thus it had
              no effect when a new device was added.
	    - To avoid duplicate Connection Numbers in Driver Device config,
              now these Connection Numbers are assigned automatically. The
              "Connection No" Field in Powertool's device configuration dialog 
	      is no longer enabled for input but for displaying the assigned
	      Connection Number.
            - The driver devices are now limited to 8 per channel. 
            - When running S7A driver on W2K without hardlock key (Sentinel or HASP)
              the Power Tool displayed an exception message box and the driver 
              didn't start in demo mode. This problem has been solved. 

Build 118 : New function:
            - Additionaly to the Rainbow Sentinel Key the driver now
              supports new Aladdin HASP Key. It detects either 
              Sentinel or HASP Key.  
            Solved problems:
            - The OPC Server now supports String addresses
            
Build 117 : Solved problems:
            - Now the Input Data Area of S7 can be read. That was not possible
              in build version 115 and 116. 
            - The I/O address in data base builder now accepts inputs of
              adresses without blank between data area identifier and adress index
              (e.g. D11:Q1.7 or D11:I10.0).
            - Under a certain condidtion the S7ADrv process runs into a deadlock situation
              This problem has been solved.
              
Build 116 : Solved problems:
            - Now the switching between primary and backup device can be configured
              and used. If the communication to the primary device fails, the driver
              automatically switches to the device configured as backup device.
              If the connection to the backup device fails, it switches back to the
              primary device.
              The switching even can be done by "hand" using a DI Block with I/O
              address "!switch:<Device name>. A F_CV value of 0 means primary device
              is active, F_CV value 1 means backup device is active. To change the active
              device just assign the corresponding value to blocks F_CV property.
            
Build 115 : Solved problems:
            none

            New functions:
            - To make troubleshooting easier, the driver now allowes to log messages to 
              a log file. To enable file logging, set the following registry key value to 1:
	      "HKLM\Software\Intellution\Drivers\S7A\DriverDefaults\WriteLogToFile"          
	      By default this value is set to 0 which disables the file logging.
	      The log file is named S7ADrv.log and located in the drivers default config
              file path.
	      All messages dispatched to the driver server window will be logged in the file
	      as well. 
	      Caution: The log file will "not" be deleted and re-created when driver starts. 
	      It's in the users responsibility to watch the size of the log file. If you 
              enable the dispatching of debug level 1 to 3 messages, the log file can become
              a huge size in a short time!!


Build 114 : Solved problems:
	    - If SAC writes faster to the driver's image table than the driver can write to
	      the PLC, after a while the write queue filled up to 100%. This version of the
 	      driver no longer queues write requests to PLC addresses who already in the 
	      queue, but uses the already queued request by just replacing the old write 
	      value by the new value. 
	    - In configurations with more than 1 channel, the driver sometimes crashed since
	      This problem has been solved.
            - The Send and Receive counts in mission control was swapped. 

            New functions:
	    - Driver now runs with dongle RN-4BDNBH-B (S7A) and RN-4CKEBH-B (S7A+S7B)
            

Build 113 : Solved problems:
            - Error in S7AMemory.dll caused problem in applications with very large
              configurations (where the shared memory "S7A_InputArea" exceeded 64k).
	      The data type information stored in the Input Area was overwritten to WORD. 
              Thus the SAC Task interpreted the block values always as an integer no matter
              what data type was set for the data block in power tool. 

            New functions:
	    - none

Build 112 : Solved problems:
            - CSV File import now works fine
	    - When choosed S7M 1.x compatible address syntax, the data type 
	      combo box was been set to a data type other that saved
	      before.  

            New functions:
	    - The S7-TIME format now is supported. Use a TX-blocks and the data
              type identifier 'T' in the Tag's I/O address to address a double
              word which contains a value in S7-TIME format (e.g. D11.DB100.DBT 10).
	      Write is also possible.
 

Build 111 : Solved problems:
            - Sometimes the CPU load raised to 100% when writing values.
            - Read/write of the last byte of a data block failed.
            - Block write in manaul or auto mode failed
            - In data block statistics sreen sometimes "stats error windows"
              occured because some error codes could not be found in 
              AGLink_Error.txt file.

            New functions:
            
            - none
            
Build 110 : Solved problems:
            - none
            
            New functions:
            - Added hardware options NULLTERM and SPACEFILL to control
              string write.

Build 109 : Solved problems:
            - Sometimes driver hangs after communication failed. Occured 
              when a lot of data blocks with a very short poll time has 
              been configured and processed.
              
            New functions:
            - none
            
            
