Fixes and Minor Enhancements

Plant SCADA 2023 Update 07

Release Notification (Updated 07 July 2023)

This is a detailed listing of fixes and minor enhancements in this release.

Windows may ask you to provide the original Plant SCADA installer to complete the patch uninstallation process.

Starting from Citect SCADA 2016, you no longer need to uninstall any previous updates before installing a more recent one.

Bug Fix Index

v8.40 Update 07 (Jul 11, 2023)
v8.40 Update 06 (Jun 13, 2023)
v8.40 Update 05 (May 09, 2023)
v8.40 Update 04 (Apr 11, 2023)
v8.40 Update 03 (Mar 14, 2023)
v8.40 Update 02 (Feb 14, 2023)
v8.40 Update 01 (Dec 13, 2022)

Enhancement Index

v8.40 Update 07 (Jul 11, 2023)
v8.40 Update 06 (Jun 13, 2023)
v8.40 Update 05 (May 09, 2023)
v8.40 Update 04 (Apr 11, 2023)
v8.40 Update 01 (Dec 13, 2022)


Bug Fixes

v8.40 Update 07 (Jul 11, 2023)

Configuration Tools

2485981 - Equipment Update performance requires improvement

When upgrading to Plant SCADA 8.40 (version 2023), it was found that the performance of the Equipment Update was significantly slower than expected. The performance of an equipment update has now been improved.

OPC DA Server

2315696 - OPC DA Server shuts down on Software Protection Failure with a valid license

The OPC DA Server may have been unable to start due to a software protection failure, or forced into a software protection failure shutdown when a /x client was restarted. The OPC DA Server will now correctly acquire its license from the license server.

Runtime

2501541 - Touch targets may be incorrect for Genies in a dynamically populated list

This issue would occur if a list was configured to display different Genies (using the DspSym Cicode function) on the same display column. If some objects within the Genie were configured with touch / keyboard inputs, phantom touch targets (such as an input cursor box) could appear when the list item was updated with a different Genie. This could occur due to scrolling or other Cicode functions. If a user engaged the phantom input (such as by clicking on it), the client may have stopped working. A phantom touch target will no longer appear unexpectedly when a list item is updated with a new Genie.

v8.40 Update 06 (Jun 13, 2023)

Cicode, Kernel

2400509 - IODeviceInfo Response Stats showed incorrect values

IODeviceInfo response statistics have been fixed and are now called "Read Response Times". These have been removed from the Kernel 'General' screen but still exist in the 'Drivers' and 'IO Devices' Kernel screens. Note that these stats only are valid when the Count is greater than zero. Also, stats are only meaningful for devices which have latency in the request and response to reads. Some drivers (e.g. front end / backend) may have a "0" figure for the response time.

DISKDRV.DLL

2410545 - Invalid DISKDRV statistics

Changes made in version 8.40 could result in invalid DISKDRV statistics and an unexpected shutdown when viewed from the Kernel. This no longer occurs.

OPC UA Server

2219011 - OPC UA client does not read and write to variables via Plant SCADA 2023 OPCUA Server

When an I/O server has [IOServer]DisableConnectivityPropertiesAndExtensions parameter set to 1, the tag properties and extensions of the leaf nodes are no longer available for read/write. This issue has been addressed by only populating the tags on the leaf nodes when the OPC UA parameter "DisablePropertyAndExtensionBrowsing" has been set to "true". In this case, the tag properties and extensions are not browsable.

2291969 - Incorrect hostname is stored for I/O servers when multiple IP addresses are assigned to the same computer

The correct host name will now be stored for I/O servers in the ServerConfiguration.json file when multiple IP addresses are assigned to same computer.

Runtime

2451638 - Runtime process stops working due to memory exhaustion in single process mode when heavily loaded

When in single process mode, the runtime process could stop working when processing many server requests rapidly (for example, when processing a large number of tag writes per second). This could also happen for a display client process in multiprocess mode when processing CTAPI request very rapidly. Plant SCADA will now perform as expected under these circumstances.

v8.40 Update 05 (May 09, 2023)

Backup / Restore

2319105 - Backup for a project would not complete when saved to a network share

During a project back up operation on a network share, the removal of ACLs on a backup file would sometimes return an access denied error message. This is no longer occurs as the backup file on the network share now inherits the ACLs from parent folder.

2331732 - Performing multiple backups at the same time can generate error messages

Backups will now be performed in a temporary location which is unique to the initiating process. This will mean that backups which are performed simultaneously will not interfere with each other.

Cicode

2203705 - EquipGetProperty would return incorrect value for Parent field

The Cicode function EquipGetProperty would return a blank string for the Parent field when the Mode was set to 2. The function now returns the correct value.

2307177 - Invalid conversion of decimal separator occurs for tags using Equipment.Item in a TagWrite call

The conversion of a decimal separator for string tags using Equipment.Item has been fixed so that the TagWrite Cicode function will no longer generate incorrect result when Windows regional setting uses "," as the decimal symbol.

Graphics

2372633 - Mouse clicks on border pixels of runtime tooltips

Clicking exactly on the border of a runtime tooltip would not dismiss the tooltip and pass the mouse click to the page element below the tooltip. This now works correctly.

Licensing

2382335 - Acquired Plant SCADA Licenses not shown in AEL License Manager

The AVEVA Enterprise Licensing provider now correctly handles the releasing of licenses for an I/O server.

Plant SCADA Studio

2188967 - Plant SCADA Studio process will not start if previously launched in a different Windows login session

Plant SCADA Studio will now launch as expected when there is already another instance running in a different Windows login session. This change is not designed to allow multiple users to access a common project from different remote desktop sessions on a single Windows server computer. To do this, you should externally manage this situation to avoid any scenarios that would allow two people to make changes to a project at the same time. Support for multiple users should be enabled using Include Projects.

Runtime

2320157 - Spurious error message "The secure data store is unavailable" appears in System Services syslog.dat

On startup, the System Services process would attempt to clear any cached credentials from the AVEVA Data Store (depending on [Client]AutoLoginMode setting) but this would not work and an error message would be logged in syslog.dat. Only the display client will now attempt to clear the cached credentials. Note that the error message was benign and the situation had no adverse effect on the system.

2358818 - CitectException zip file not created for 64-bit alarm server in service mode

When a 64-bit alarm server shuts down unexpectedly while running in service mode, the CitectException zip file containing the crash dump and relevant logs is now created as expected.

v8.40 Update 04 (Apr 11, 2023)

Alarms

2191777 - Alarm summary not importing correctly from v7.20 alarm save file

When importing an alarm summary from a v7.20 (or earlier) alarm save file, some summary events would be associated with the wrong tag if there were more than 255 alarm tags. Imported events that were added with AlarmSumAppend would have an empty SumDesc column if the associated alarm has never changed state. If these events were committed with AlarmSumCommit, they would not be imported at all. An import will now handle these events correctly. This also fixes an empty SumDesc for new events added through AlarmSumAppend (after import) when alarm has never changed state.

2335710 - Incorrect icon displays in Situational Awareness alarm lists for certain multi-digital alarms

When a multi-digital alarm was configured with a state other than state 000 as 'Off' (for example. 0 is used in the 'Trigger xxx' field in Plant SCADA Studio), the SA alarm list would show the icon for 'Active, Unackowledged' instead of 'Cleared, Unacnowledged' when the alarm was in that state. The correct icon is now displayed.

Backup / Restore

2176876 - Genie cache is not cleared when project restore occurs

When you restore a backup of the current project, Plant SCADA will now check if Graphics Builder has any unsaved changes. If unsaved changes are detected, a popup message box will appear instructing you to review these changes in Graphics Builder. If there are no unsaved changes, then all opened items in Graphics Builder will be closed and any cached information will be purged. Restore will then proceed normally.

Cicode

2395338 - StrClean function removing valid non-ASCII characters

The StrClean Cicode function will no longer remove non-ASCII characters (those in the range 128-255) that are valid printable characters in the current locale.

2343293 - Logging controls required when dynamically calling Cicode via command line or TaskCall()

Incorrect usage, where a Cicode function calls another function, is detected at compile time. However, if a Cicode function is called dynamically via command line or TaskCall(), this can only be detected at runtime. These syslog traces were created unconditionally but they can now be controlled by a new INI parameter [Code]DynamicCallDebug. Logging is disabled by setting to 0 and enabled by setting to 1. To maintain existing behavior, the INI is enabled by default.

Deployment

1952981 - Alarm server switchover time requires improvement

A redundant alarm server pair with a large memory footprint and many connected clients could take a long time for alarm counts to switchover to the standby server when the primary server is shutdown. This has now been improved.

2354343 - Deployment Client will not register with Deployment Server when part of a Workgroup

The deployment client plugin now uses entered user credentials to register with the System Management Server's Identity Manager.

2158169 - Additional error logging required when adding a version for deployment

Additional logging has been provided when adding a version for deployment in IDEtracelog.dat. This will provide details of the cause if this process is unsuccessful. A dialog will direct the user to the log file upon completion if there are any errors.

2254761 - Deployment clients appear offline when registered using a short machine name

If a deployment client machine was registered to a System Management Server using a short machine name, it would appear as offline on the deployment server. The deployment client plugin will now store the AVEVA Identity Manager server address as fully qualified machine name.

Licensing

2295066 - OPC Factory Server license is not acquired from AVEVA License Manager

When This occured when OPC Factory Server would run when only an HMI license was available or activated. The AEL provider will now check for HMI licenses.

2391463 - Logging is incorrect when I/O server does not release driver license

If a project was configured to use drivers, the I/O server would acquire driver license(s) and release them as required. If releasing AEL licenses is not working successfully, the I/O server would log the failure message to syslog. The log message was incorrectly configured, which would cause the I/O server to stop working. The I/O server now logs correctly to the syslog.

Localisation

2186105 - TagWrite does not write decimal values for certain locales

If you were using a Windows regional format that use a comma as the decimal separator and space as a thousands separator (for example, English (Sweden)), passing a decimal value containing a comma to TagWrite would not work. For other locales that have comma as the decimal separator and period as the thousands separator, TagWrite would succeed but with the wrong outcome (for example, "1,5" would write "15"). This only affected newer locales that do not have an ANSI code page defined. Decimal values with comma will now write correctly for all locales.

v8.40 Update 03 (Mar 14, 2023)

Alarms

1900440 - Alarm acknowledgement not working after changes to alarm tag

This would occur after modifying an alarm tag to move the last part of its equipment to the item field (and renaming the corresponding equipment database entry). On restart of the alarm server, the alarm could no longer be acknowledged. Alarm acknowledgement now works correctly under these circumstances.

Cicode

2040124 - Cicode function ServerInfoEx can sometimes return incorrect licence information

ServerInfoEx would sometimes return incorrect licence information when using an ordinal position as the Name parameter. The internal licence status of all internal connections will now be correctly cleared following the loss of connection between server and client. In addition, ServerInfoEx has been enhanced so that when using the ordinal option (i.e. Name is "<number>") the number representing Type can be supplied in a 100-based format so that all connections between server and client will be considered in evaluating that Type. The default behaviour for this is that only a subset of connections will be evaluated. For example, using Type 106 will search all connections to determine whether the client has a licence from the server, whereas using 6 will ignore some connections. Please note the enhanced 100-based format should be used with v8.30 or above to avoid missing connections. Do not mix the enhanced 100-based mode with non-100-based mode. For example, if your Cicode uses mode 106 rather than 6 to query whether the client has a licence from the server then it should use 107 rather than 7 if it also enquires on the type of licence.

Documentation

2314018 - CHM files have dramatically increased in size

Some of the CHM help files installed with Plant SCADA had increased dramatically in size due to the inclusion of some unnecessary image files. This could impact the size of a backup if the CHM files were included in a miscellaneous files package. The CHM files have now been fixed. Customers who packaged a help file as part of a miscellaneous files package will need to recompile to get the smaller file.

OPCUA Server

2070354 - Cannot connect to a Plant SCADA OPC UA server when the standby I/O server is not running

When an OPC UA client requested a connection to the Plant SCADA OPC UA server, it would wait to establish connections to all I/O servers before replying to the client. This would cause a timeout for waiting clients, particularly when the standby I/O server was not running. The Plant SCADA OPC UA server has been changed to reply to a client as soon as one connection to I/O server is established.

Runtime

2339849 - CitectException zip file does not contain the correct log files for server processes or /x client.

When an unexpected shutdown occurred, the required log files would exist but were not being placed into the crash.zip file. The files are now located in the correct zip file. The debug.log "Raw Stack Dump LONG HEX" section has been removed.

Web Content

2304066 - A Web Content profile folder is not created when no user is logged in at startup

If no one was logged in at startup, a Web Content profile was not created. This meant no context was passed when a browser instance was created. A view-only profile is now created at startup if no one is logged in.

v8.40 Update 02 (Feb 14, 2023)

Licensing

2271220 - Demo license can interfere with ability to obtain a remote license

The demo license will no longer prevent a remote client from obtaining a remote license.

2175295 - License tab on About dialog

The License State and Type fields on About dialog (and Serial & Part number) are hard-coded to fixed strings. The license tab from About box is now removed.

2204701 - Plant SCADA 2018 R2 client is unable to acquire a license from 2023 Server

When a 2020 R2 or newer server receives a license request message from a 2018 R2 or older client, the server incorrectly rejects the message as being invalid. This results in the client not being able to obtain the remote license from the server. The license message handling has been changed to resolve this issue.

Process Analyst

2167509 - Process Analyst shows "CTAPI connection is offline" when encryption is enabled (non-mixed mode)

The Process Analyst control in SxW_Style and Tab_Style templates (as well as some pages in the Example project) had the default user name set to "User" on the Connections tab. Due to the default user name, connections to CTAPI would not work when encryption was enabled and Process Analyst would be unable to fetch trend data. The hard-coded user name has been removed from these templates and pages allowing Process Analyst to retrieve trend data when encryption is enabled. Note: Please run "Update pages in Active and Included Projects" option in Graphics Builder if any customer projects are created based on SxW_Style and Tab_Style templates.

Runtime

2140968 - Display client stops working when displaying a new page or popup menu

In rare circumstances, graphics runtime would stop working when navigating to a new page, or when displaying a popup menu from Cicode. The display client will now continue working when these circumstances occur, though the page or menu will not be displayed.

v8.40 Update 01 (Dec 13, 2022)

Alarms

1970796 - Alarm delay/threshold resets on alarm server restart when alarm has privilege

Alarm delay and threshold values that have been modified at runtime are no longer reset to DBF configured values on server restart. This was occurring due to a privilege being configured for an alarm.

2031154 - Browsing for alarm sound files in Computer Setup Editor

Browsing for alarm sound files now works for any priority (0-255) in Computer Setup Editor. Previously this would only work for 0-9.

Backup / Restore

1992258 - Project backup is not created if the destination folder does not exist

Where a user specifies a backup path, any missing directories in that path will now be created before attempting to save the backup file to that location.

Cicode

2046404 - Project with remote servers running in standalone would connect to localhost

A project with remote servers configured that were running in standalone mode (i.e. no networking, so remote servers could not be contacted) would attempt to connect to those servers on 127.0.0.1 or ::1. This could result in potentially incorrect status for those servers being returned by the ServerIsOnline function if there was a local server running on the same port. This situation is now handled correctly.

Deployment

1967961 - Misleading error in the Plant SCADA Runtime Manager when switching from a local to a deployed project

When switching from a local project to a deployed project and using a profile, the Runtime Manager UI displayed an incorrect error message as follows "Could not start runtime due to missing permissions". This issue was observed due to an incorrect ini path setting inside the Runtime Manager when there were no deployed projects available. This issue has now been fixed and the above error message will not be displayed. The Runtime manager UI will instead display the following message in this scenario "Deployment is enabled but no project has been deployed".

Graphics Builder

2200523 - Unable to edit a composite genie that has an unconstrained Int parameter

Graphics Builder now works correctly when editing a composite genie that has an unconstrained Int parameter (i.e. one with no <Values> child element in the genie template).

Licensing

2156089 - AEL perpetual license and set expiry details are not consumed correctly

The main client now checks for license type while consuming the AEL license. If the consumed license is a perpetual license, then the product will run continuously and expiry details will be set to 0.

Localisation

2146253 - Parsing of period values that contain Portuguese day names

In Portuguese locales, configuring a period field (for example, on the Trend form) with a day name that contains a dash (for example, "Segunda-feira") would result in "Invalid time format" error. This now parses correctly.

Plant SCADA Studio

1839329 - Plant SCADA Studio stops working if files are being externally modified

Plant SCADA Studio would stop working when saving changes to a grid view. The 'Saving changes' dialog would not go away if a save happened while an external process was modifying other files in the project folder (for example, if the report server was running and configured to write reports to the project folder). Plant SCADA Studio will now handle this situation correctly.

Reports

2105544 - Cicode functions called by reports are not executed in parallel after applying the July 2022 monthly update

After applying the July 2022 monthly update, reports with no output device will run in series (one after another) if they are started at the same time. The stacking of the report execution was initially introduced to prevent the corruption of the report output, especially for reports in Rich Text Format (RTF), that share the same output device. However, the fix incorrectly treats reports with no device as sharing the same (empty) device, and unexpectedly stacks their executions. Given the stacking of report execution for reports in non-RTF format can be achieved by adding semaphore / critical section Cicode segments in the report format file, the automatic stacking of report execution now only applies to RTF reports that share the same device. Reports of other formats or reports with no device assigned will run in parallel if they are started at the same time.

1543604 - Reports are incorrect when multiple reports are triggered simultaneously

The content in reports was not correct when multiple reports were triggered simultaneously. This occurred when an output device worked on many reports at same time. A reports waiting queue has now been introduced so that reports are processed when the output device is available.

General

2171262 - Updated alarm server database engine

The alarm server database engine has been updated to the latest version. Note that an installation of 2020 R2 Update 11 or later will be unable to be upgraded to 2023 RTM version, instead you must upgrade to 2023 Patch 01 or later.

2118326 - CTAPI CtClose call may time out if connected to a server with a version earlier than Plant SCADA 2020 R2 (8.30) with reconnect mode

When using version Plant SCADA 2020 R2 (8.30) CTAPI binaries in a custom application to connect to earlier versions of Citect or Plant SCADA with the reconnect (CT_OPEN_RECONNECT) mode, the application may hang and time out with a deadlock detected error message when it tries to close the connection calling CtClose. This impact client applications incorporating the 8.30 binaries which were required to connect to CTAPI servers on versions 8.20 and earlier. The updated CTAPI binaries address this issue. Note that with the updated CTAPI binaries, using a hostname to connect to a CTAPI server running 8.20 or earlier may not succeed if Windows is configured to return an IPv6 address for that hostname, as 8.20 and earlier do not support IPv6 network addresses. To avoid this, use an IPv4 address directly, or if encryption is enabled, configure Windows to return an IPv4 address in preference to an IPv6 address.


Enhancements

v8.40 Update 07 (Jul 11, 2023)

Runtime

2457657 - The default value of INI parameter [Kernel]Task needs to be increased from 256 to 512

When running a project configured with many I/O devices, the user may get an "Out of Kernel Tasks" error message when using the previous default value of the [Kernel]Task parameter which was 256. Such systems require a higher value to be set for the [Kernel]Task INI parameter. To reduce the occurrence of this error, the default value of the parameter has been increased to 512.

v8.40 Update 06 (Jun 13, 2023)

Graphics Builder

2453466 - Shortcut key required in Graphics Builder for Close menu item

The shortcut text Ctrl+F4 has been added to the Close menu item in Graphics Builder. This will only be available in the English version. All other versions will be addressed in the next full release.

v8.40 Update 05 (May 09, 2023)

Deployment

2198853 - Insufficient information in error message when deployment client does not register with SMS

The deployment client plugin now uses entered user credentials to register with the System Management Server's Identity Manager. An updated message is now provided when a deployment client machine cannot register with a System Management Server due to an unexpected exception.

Runtime

2295143 - INI parameter required to disable Web Content

A new INI parameter [Animator]EnableWebContent has been added. Set this to 0 (default = 1) to disable Web Content at runtime. This will prevent the creation of extra Citect32 processes.

v8.40 Update 04 (Apr 11, 2023)

Alarms

2197730 - Unable to set selected row font in AlarmList Genie (sa_controls)

The user can now specify the font of their choice for the selected rows of the alarm pages provided with the Situational Awareness Starter Project. By default, the font for the selected rows is the same as that of the unselected ones. To specify a different font for the selected rows, define fonts SA_AlmSelRow (for project of HD1080 resolution) and SA_AlmSelRow4K (for project of UHD4K resolution) in your own project. At runtime, when a row is selected on the alarm list, the text on that row will be displayed using the specified font.

v8.40 Update 01 (Dec 13, 2022)

Cicode

1940582 - Cicode stack window buffer reaches capacity

The Cicode stack window would reach capacity in some scenarios, such as when the code being debugged involves nesting or a lot of variables. The size of the stack window buffer has now been doubled.