📖HomeBack ClearSCADA 2009 R1.3 is the third service pack release of ClearSCADA 2009 R1. This release contains a small number of product enhancements. Its main purpose is to resolve a number of known issues with ClearSCADA 2009 R1 to improve performance and reliability.
ClearSCADA user authentication mechanisms have been strengthened to further boost system security. These improvements apply to ViewX, WebX and the ODBC interface.
Following upgrade, existing ODBC DSNs will lose configured passwords. This can potentially impact report generation using Crystal Reports and external applications that use the ODBC interface. After upgrade, use the ODBC Data Source Administrator to reinstate ODBC DSN passwords where required.
Read access to Event Journal entries for deleted objects are now restricted by checking the current user permissions against the database Root Group.
To enhance security of the ClearSCADA server, telnet logging has now been disabled by default. As a further security measure, this interface no longer provides facilities for viewing system status information.
Telnet logging can be enabled using the new registry setting 'LogEnableTelnet'.
The historian has been enhanced to allow point historic data to be configured for either stepped or interpolated modes. This impacts on default display modes on trends as well as historic aggregate calculations. The following new configuration fields have been added to the Historic tab on all point forms:
A checkbox to define whether trends and historic data calculations use linear interpolation or stepped mode between raw data values.
An integral multiplier field to specify the scaling applied to TOTAL and TIMEAVERAGE historic calculations. These calculations assume per second data. In the case of historic values such as litres/min, a multipler of 0.167 (1/60) would return the correct value for the historic aggregate.
A new configuration field called 'ExecutionPrivilege' has been added to Logic programs. The ExecutionPrivilege field defines the privilege required to execute the Logic program. For new Logic programs, ExecutionPrivilege defaults to "Control". For existing Logic programs ExecutionPrivilege will default to "Read" to preserve backward compatibility.
It is recommended that this new field is configured for existing logic programs to ensure that users with only Read permissions cannot trigger the logic program execution.
New option 'All Outputs (If Any Changed)' has been added to the Update Outputs drop down list for Logic objects. This option is in addition to the other options 'All Outputs (Always)' and 'Changed Outputs Only'. This will update any output where the value or quality changes, as opposed to 'Changed Outputs Only' which ignores quality changes.
Logic Status reporting has been improved to indicate the reason why logic execution is disabled (Not In Service, Member of a Template, ExecutionEnabled is False etc).
Logic programs are now able to execute after they are imported without needing to be re-compiled.
Support has been added for 64 bit integer type for directly located variables in Logic. For example, "%M(#HIS.Raw.Total Data)".
Quality Factor for PSTN Channels
The algorithm for selecting the best available PSTN channel has been improved. Each channel is now allocated a quality that is incremented with each good call and decremented with each bad call, within a low to high quality range of 1 to 'n'. The channels with the highest quality are considered the best channels. When several channels have the same quality, a round-robin algorithm is applied to cycle amongst them. The value of 'n' is configurable in the 'Global Parameters\Channels' section of the server configuration and is used as the starting quality when the channel is initialized within the driver.
This algorithm offers significantly faster responce as a previously healthy channel begins to fail.
An additional method has been added to the PSTN channel to enable the call quality factor to be reset to its default.
Diagnostic Logging Improvements
New diagnostic classes called 'Journal New Records' and 'Historian New Records' have been added to log new event journal messages and new historic data records.
DBClient logging has been improved to log the source IP Address when a client accepts an in-bound connection from a server.
The exception handling thread has been improved to include the object Id in the exception report.
Extra information has been added to the DNP3 slave driver log file to improve tracking events through the driver. The number of unread events (by the driver) on the value map is now visible on the value map object. The most accurate version of this data is available to clients connected to the main server. The value map object will also show whether it has had a buffer overflow.
DBServer has been enhanced to better communicate with the operating system during system shutdowns and restarts. The operating system is now requested to delay it's shut down until DBServer has completed all pending actions. This ensures that very large systems have enough time to save all data and configuration to disk.
The 32 bit install kit has been modified to prevent accidental installation on 64 bit operating systems.
New Server Registry settings called 'OldestClientVersion' and 'OldestClientBuild' have been added to allow system administrators to specify the minimum client version and build number that is allowed to connect to the server. The settings can be found in the Registry location HKEY_LOCAL_MACHINE\SOFTWARE\Serck Controls\SCX6\Server.
The DNP3 translator has been extended to include all current control status descriptions.
A new 'CheckAccess' method has been added to the CDBObject table that takes a string argument containing a commma separated list of privileges and returns true if the user has all the specified list of privileges.
Added a "WYSIWYG" printing method to mimics, that draws into an internal bitmap the same size as the current screen mimic, then prints the bitmap. This allows embedded lists to be printed in-place.
Updated Czech language resources have been included in this release.
SCADAPack Modbus Driver
The SCADAPack Modbus driver has been corrected to ensure that it does not exceed the 125 register limit. This occurred if a point spanned more than one register and the second, third or fourth register exceeded the register limit for the read.
SCADAPack Modbus polling has been corrected to ensure that it now includes digital points reading from registers from bit 1 onwards. These are now correctly included with polls for other nearby registers when the digital point's register is at the end of a group. Previously, a separate poll would have been issued.
An integrity error which occurred in the database when a Modbus address is specified on a SCADAPack Modbus point which is then configured as 'DLOG Only' has been fixed. Also corrected an integrity check failure that could occur if an invalid DLOG value is specified.
An integrity check error on standby for SCADAPack Modbus RealFLO outstations has been fixed. Flow Run list was not being correctly transferred to the standby.
A server crash in the SCADAPack Modbus RealFLO module which occurred when a RealFLO point was moved out of a template has been fixed.
A database exception which occurred when a SCADAPack RealFLO Flow Run was deleted or taken out-of-service whilst it was reading its current data has been fixed.
Heartbeating has been corrected in the DNP3 driver to ensure an incorrect response will not leave the outstation in an invalid state.
A bug has been fixed in the DNP3 Slave driver which could cause it to stop sending unsolicited messages. This occurred when the processing of the application confirm coincided with the scan of the value maps.
Ensured that an out-of-sequence unsolicited message from a DNP3 outstation only triggers an integrity poll if the driver has completed starting comms with the outstation. The driver automatically performs an integrity poll during the process of starting comms to an outstation.
The DNP3 driver has been modified so that it now gracefully handles an invalid object count of 0 in an application fragment and reports an error. The DNP3 translator has also been updated to show the errors which occur during processing.
The DNP3 driver has been updated so that it sends the correct link status message for heartbeating requests on Network type channels using TCP. The DNP3 driver has also been updated to ensure that the application layer and data link layer states are reset following a TCP socket failure. The link state is also reset if the heartbeat or idle poll request fails.
The DNP3 Slave driver has been modified to ensure that if an event is created in a filtered value map with a class other than 1, 2 or 3, the the event is correctly discarded and removed from the value map when processed by the driver.
TMX digital point current values are reported as a signed 8-bit integers. Negative values indicate various error codes, 0 = closed, 1 = open, and other values are undefined, but are invalid as far as the server is concerned. The validation of digital point current values has been changed to only accept 0 and 1 to ensure that invalid values are not stored in the database.
Added validation to values reported during online session (for all point types) to match validation applied to current values retrieved during a one shot.
TMX relational alarms 17 - 32 have been fixed. Previously this was being shifted up one channel (to 18 - 33), so the value of channel 17 was being stored in relational alarm 18 (if it had been configured) and so on.
"Abort Pre-message Delay if CTS Raised" and "Post-message RTS Delay" fields have been removed from those drivers which do not support them (e.g. standard Modbus driver).
A crash in Advanced Drivers has been fixed that could occur if a serial device signaled a write failure event when no write was actually in progress. This might occur, for example, when USB serial devices are unplugged.
A problem with Post-message RTS Delay in advanced drivers has been fixed; this could have led to the driver crashing if the delay was greater than 500ms.
Advanced driver Tx/Rx eavesdrop channels now correctly report their state as healthy after both ports have received a valid message.
The advanced driver architecture has been corrected so that the failure of the Tx port on a Tx/Rx eavesdropping channel does not cause the driver to crash.
A crash in the Advanced Driver library which was caused by using long Host Addresses (DNS name) on TCP/IP type channels has been fixed.
The Advanced Driver library has been modified to ensure writing to a port after a read/write failure will not lead to a crash.
An issue with mimic animations has been fixed where an expression evaluation failure would write and empty/zero value to the target property in ViewX, but not in the web client. If this happened for an animation on a shared embedded mimic, the instance that failed would retain the value from a successful evaluation of a previous instance.
The alarm list filter dialog in the web client has been fixed to display the correct default values in the severity filter fields.
A web client crash/lock up has been fixed relating to when a context menu displayed from script in Mimic_Load is right-clicked.
Encoding of invalid characters in the query part of a hyperlink (e.g. mimic view name) in the web client has been improved.
The trend Ruler in WebX will now display the correct value when the ruler is placed before or after the last data value.
Fixed some foreign resources not appearing in the web client. This could be seen on the pop-up menu in the alarm list.
The web client has been corrected so that lines to bounding values in raw historic trends will be drawn if the bounding value is an inserted or modified value.
DriverODBC has been modified to reconnect in the event that the connection to a data source fails.
The ODBC driver will return error state '08S01' if the communication layer returns a socket error code.
A DriverODBC exception has been fixed when a control query was specified without any parameters.
An issue in the ODBC Driver has been fixed where the second and subsequent queries from Microsoft Excel 2003 would fail.
Installation of 64 bit ODBC driver in client only installations has been fixed.
The Crystal Reports runtime components sometimes failed when multiple reports were attempted to generate at the same time. To protect against this failure, reports in ClearSCADA are now forced to use a single thread. The Thread Pool options in the server configuration dialog have been removed.
The logic editor has been modified to allow users with read access to logic to view the program status.
Incorrect references to 'User Defined Functions' have been removed from Logic.
The error message reported when a Structured Text Logic program contains a built-in function call with non-constant arguments of different types has been improved.
Fixed the ELEMENT command in logic so that the server does not crash when the located element or the string to be searched is empty.
Changed the logic thread to prioritize processing configuration changes over scheduled execution.
Out of Service logic programs will not be scheduled to execute.
Logic programs in templates will not be reported as running.
Overrun count of disabled logic programs will now not increase.
Reference patching in Structured Text programs has been fixed for object names that contain balanced brackets.
The SQL query processor has been modified to not cache Historic View default start and end times during the prepare phase. An SQL query on a Historic View, with no time constraints specified in the WHERE clause and prepared once and execute multipled times, would return the same result on each execution. This has now been fixed.
The SQL query processor will now return the correct results when multiple search conditions are applied to the same constraint column.
Fixed the data table processing of queries that include clauses on indexed fields in the form "A = ? AND B = ?".
Fixed data table processing in the query processor so that an access plan of "Non-Unique By Column (Constrained)" returns the correct rows.
SQL joins have been corrected to return the correct results when the join condition includes scalar expressions.
A potential server crash that occurred if a user entered an invalid SQL statement containing type compatibility errors on the right hand side of a LIKE operator has been fixed.
Fixed bug where creating an object via an SQL INSERT command without specifying a name would append "of" to the default name.
Templates and Instances
A crash has been fixed which occurred in the server when the Area of Interest of the No Change alarm property was changed on abstract points in a template where instances existed with the points still in their abstract form.
Template instance repair has been fixed to include ACL, colour palette & document content to ensure database consistency when a template instance is imported and merged into a database and the referenced parent template has been changed (after the export but before the import). Previously this could result in inconsistencies between the template and instance.
Fixed template issues related to nested instances with an overridden TemplateId field.
Property Overrides for metadata fields in templates that have been renamed will be updated correctly.
DF1 Digital points have been modified to support a bit offset of 15.
The following memory issues have been addressed:
Fixed a communication layer error that caused a memory leak in ViewX when connecting to older ClearSCADA 2007 R0 servers.
Removing a metadata list or link field would leak a small amount of memory of the field name of the child "Desc" or "Link".
Deleting a data table from the database would leak the information about the fields in that data table.
Initial synchronization of data files when a standby connects to a main would leak the file names of the data files stored in the database.
Updating ViewX user profiles on the Standby machine would leak a small amount of memory.
Issues relating to the use of indirect tags that reference mimic parameters, and then embedding multiple shared instances of that mimic on another mimic have been fixed.
Using indirect tags in this way is not recommended as it can drastically affect performance.
The Main-Standby transfer has been modified to prevent duplication of historic records on the main server if more than one standby is configured.
A crash in DBServer when ImportConfiguration is called from .NET API with ImportOptions.Merge has been fixed. This would happen if the top-level object cannot actually be imported for some reason, e.g. an object with the same name already exists and cannot be converted.
The 'Links' column of the Users status page for Guest and Web users in the Server Status application has been corrected to display the correct number of links.
An intermittent ViewX crash when users log on or off, or when servers start up or shut down has been fixed.
The maximum length of Float/Double fields on forms has been changed to allow the full range of values to be entered.
ViewX would sometimes crash when editing animation expressions that reference REGISTRY settings using the flowchart editor. This problem has been fixed in this release.
Simple schedule's next execution time will now not be reset back to the time the database was loaded following a changeover. This was then leading to the schedules actions being triggered every minute until it 'caught up' with the current time.
Fixed a bug in the Rate of Change master station accumulator, where the initial value after an end of period reset would not be included in the calculation.
Fixed an issue where clicking 'OK' in the "Redirection Comment" dialog after the selected alarm has disappeared from the alarm banner while the dialog was on display would sometimes cause ViewX to crash.
The data, report and EOP timestamps of accumulators are now initialized to the creation time of the object, to avoid huge time intervals being used in the first calculation leading to an erroneous initial value.
A ViewX crash that occurred when removing the same alarm twice in quick succession on a client connected to standby has been fixed.
The simple Modbus scanner has been modified to fail with a suitable error when receiving responses containing no data.
Fixed the handling of hyperlink fragment (e.g. mimic parameters) from Mimic.OpenInset & App.OpenWindow script functions.
Analogue and digital point processing in the DDE driver has been corrected, where an incoming DDE value that had leading or trailing whitespace would not be correctly converted to a numeric value, resulting in a point quality of "Configuration Error".
The Comtrol Device Master Freeport functionality in ClearSCADA drivers has been extended so that it now correctly works on 64bit Windows operating systems.
The window width limit on text entered into the 'Accept with Comment' dialog has been removed if pre-defined comments are configured.
Filtered value maps have been corrected so that when the Reason Mask field is edited the changes are correctly applied and do not reset back to the original value.
The Username() animation function has been fixed to work on non-default connections. Previously it would return the name of the user logged in to the default system.
ViewX property forms have been modified to ensure large positive 32bit integers are written correctly when the field can be either signed or unsigned.
Fixed bug in ViewX where switching a mimic to design mode while debugging script library code gave an infinite error message.
An integrity error has been fixed in the alarm source map caused by performing an Import & Merge that updates an object's alarm source, but also deletes the object because it is in an instance that ends up being invalid.
The edit metadata list and field dialogs in ViewX now prevent a field name that is too long being entered.
The clipping of Y-Axis values with Ad-hoc trends using Automatic Scaling has been fixed.
Configuring metadata fields now checks the field names and OPC properties against derived classes of the table the field is added to.
The performance of method calls in the DDK driver has been improved by calling the IsAvailable method only when the result of IsAvailable is relevant.
The sizing of the time selection 'Go To...' option on the X Axis of trends has been changed to display all the options correctly.
The ViewX client has been modified not to attempt to cancel asynchronous queries on servers that do not support asynchronous queries.
The installer has been modifed not to run again following an upgrade. The user will need to perform a Repair once the upgrade is complete. Please refer to Upgrade Notes for more information.
Ensured that the System column will appear in the correct position in the alarm banner when the client is connected to multiple systems.
The server will be prevented from starting if errors are detected while loading the metadata XML file. The invalid metadata file will be preserved and will no longer be overwritten with an empty file.
ViewX has been modified not to reload the page when navigating to the same mimic.
A problem where drivers would fail to automatically start after a changeover when a new object is created has been fixed.
An issue with mimic animations has been fixed where an expression evaluation failure would write and empty/zero value to the target property in ViewX, but not in WebX. If this happened for an animation on a shared embedded mimic, the instance that failed would retain the value from a successful evaluation of a previous instance.
Accepting with comment, removing with comment and set response on a text alarm where a long comment is supplied no longer causes a server exception.
Alarm filtering has been fixed to ensure that text alarms with no area of interest are not sent to clients with an area of interest filter set.
Accumulators now update correctly when a point in an Advanced Driver is overridden and subsequently released.
Object size logging in DB Start-Up log has been corrected so that it no longer displays negative numbers for very large databases.
Click here for Release Notes from ClearSCADA 2009 R1.2.
Click here for Release Notes from ClearSCADA 2009 R1.1.
Click here for Release Notes from ClearSCADA 2009 R1.
For Release Notes from earlier versions of the product, please refer to the Release Notes pages that can be found in the ClearSCADA Releases section of the Control Microsystems Resource Center.