Release Notification

(updated 3 February 2006)

Version 6.10 Release

Fixed Problems and Enhancements

This is a detailed listing of the resolved problems and minor enhancements in this release. (See What's New in the CitectSCADA Online Help for details of new features for this version.)

11893 - The CitectSCADA backup facility deleted all files on removable media

Backing up CitectSCADA project files to removable media (such as floppy disk) using the CitectSCADA backup facility resulted in all files being deleted from the media before the project was backed up. The backup utility now lets you decide whether or not to delete the files on the media before performing the backup.

13181 - Windows displayed incorrectly with the Cicode function WinNewAt()

When the parameter [Page]DynamicSizing was set to 1, new windows created with the Cicode function WinNewAt() sometimes displayed at the top left of the screen instead of the intended location. This occurred when the coordinates supplied to WinNewAt() positioned any part of the new window off-screen. The new Citect.ini parameter [Page]MaximiseOnCreation has been added, and setting this parameter to 0 resolves this issue.

17431 - Closing a child window in the Kernel removed the focus from the Kernel window

Closing child windows in the Kernel triggered a window focus change so that the Kernel was incorrectly hidden behind the next available desktop window. This problem has been resolved so that closing a child window will return the user to the main Kernel window.

17638 - Graphics Builder displayed incorrect error messages

When Graphics Builder could not load a page (for example if a symbol was missing for a genie), it displayed a "Preload-Keyboard' error message in the status bar, instead of the relevant error message. This issue has been resolved and the relevant error message now displays.

18669 - The Computer Setup Wizard inserted blank DNS entries into the Citect.ini configuration file

The Computer Setup Wizard inserted blank Primary and Standby DNS server entries into the [DNS] section of the Citect.ini file, overwriting any existing DNS entries. The Computer Setup Wizard now inserts blank DNS entries only if there are no existing entries.

18748 - Trend sample data returned in the opposite direction

When using an animation number of 0 in TrnPlot(), the returned trend plots printed in the opposite direction to the trend data (i.e. backwards). The data now plots correctly.

21523 - The function FileRichTextPrint() did not print large documents successfully

The file size limit (32k) for the FileRichTextPrint() function has been increased to 2MB, enabling larger documents to be printed successfully.

22872 - AlarmDSP() prevented the alarm list from being resized dynamically

The first time AlarmDsp() was called with a non-zero count value the size of the alarm list was set and could not be changed, no matter what count value was specified. The alarm list can now be resized dynamically.

23079 - Tag updates by ActiveX objects sometimes failed

When an ActiveX object attempted to write to a CitectSCADA tag with an outstanding read request, the write operation sometimes failed.

23034 - Enabling Driver tracing could cause Citect to crash

In some circumstances, Citect could crash during formatting of output for driver tracing. This has now been resolved.

23307 - New Graphics Builder Automation callback PageSaved()

This new automation event is invoked when a page is saved using File/Save, File/Save As, or File/ Save All. The event provides the project name, page name, and a flag to indicate if this event is the last page in a save operation.

23308 - New Graphics Builder Automation callback PageUpdated()

This automation event is invoked for each page updated when calling update pages. The event provides the project name, page name, and a flag to indicate if this event is the last page in an update operation.

23497 - The Graphics Builder Automation method PageAppearanceGet() failed to handle pages that lacked templates

This method returned an error for Super Genie pages and for pages that lacked a template. In these cases, the method now succeeds and returns the width, height, and background color. The project, style, and template are empty.

23515 - Graphics Builder Automation method AttributeBaseCoordinates() sometimes returned incorrect coordinates

The OLE method AttributeBaseCoordinates() sometimes returned incorrect coordinates for objects when it should have returned the absolute coordinates indicating the object’s location on the page. For a line, the method should have returned the start and end coordinates of the line. The method has been modified to correctly return the object's absolute coordinates.

23825 - The CTAPI ctListRead() function returned an error message as the ctListAdd() function incorrectly blocked digital tags

The ctListRead() function failed when performing a ctListRead() on a block of digital tags formed using ctListAdd().

24178 - The Computer Setup Wizard overwrote the LanA value set in the Citect.ini configuration file

The Computer Setup Wizard incorrectly overwrote the value in the Citect.ini parameter [LAN]LanA with -1. This has been fixed, and the Computer Setup Wizard now only sets the LanA value to -1 if no value has been specified in the [LAN]LanA parameter.

24180 - The FileRichTextPrint() function did not recognize page breaks

The RTF printing functionality has been enhanced to support page breaks in files.

24197 - New Graphics Builder Automation methods available for object Lock, Unlock, and Break Lock mode

New OLE methods are now available to programmatically access Edit | LockObject , Edit | UnlockObject and Edit | BreakLockMode commands. These new OLE methods are required for accessing objects in templates.

24389 - New Graphics Builder Automation methods PageAppearanceSet() and PageAppearanceSetEx()

These new functions are used to set all the fields on the page properties Appearance tab. PageAppearanceSet() is used for setting color as a color palette and PageAppearanceSetEx() is used for setting color as an RGB.

24827 - Changing a user password during runtime resulted in incorrect tag index values

CitectSCADA projects with tag-based drivers failed to compile when a user password was changed during runtime. To change user passwords during runtime, you must set the Citect.ini parameter [General]CitectRunningCheck to 0.

25293 - Graphics Builder Automation methods ProjectFirst() and ProjectNext() only returned lowercase letters

Graphics Builder automation interface methods ProjectFirst() and ProjectNext() modified project names and returned the names in lowercase letters.

25319 - Graphics Builder Automation method PageSelectFirstObjectInGroup() reported an error for a Group nested in a Genie

If a Group is nested in a Genie, the automation method PageSelectFirstObjectInGroup() reported an error when trying to identify the first object (as the Group is a child of another object). The method has now been modified to handle nested Groups, so they can also be enumerated.

25321 - Graphics Builder Automation method AttributeClass() sometimes incorrectly classified objects

The automation method AttributeClass incorrectly classified objects where:

1 A nested Genie was reported as a Group instead of a Genie.

2 Multiple bitmaps in a Genie/symbol were reported as a Symbol instead of a bitmap.

3 A template was reported as a Group instead of a Template.

25668 - Improvement in Compiler error reporting

Previously an invalid macro label like "%PUMP" (the end % is missing) could cause errors after a compile. Now the compiler reports the correct location of the invalid labels.

25920 - New Graphics Builder Automation method AttributeRawOrient()

A new automation interface method AttributeRawOrient() can retrieve the raw orientation of text. When the text orientation is modified (e.g., by rotating the text clockwise by 90 degrees), the raw orientation of the text is not updated until the page is reloaded.

25922 - Computer Setup Wizard sometimes selected the incorrect I/O server name

If an I/O server name was contained within another I/O server name (e.g., "IO" within "IOA"), sometimes the Computer Setup Wizard defaulted to the wrong I/O server in its menu.

25924 - Graphics Builder Automation method LibraryObjectName() returned an incorrect name for a Genie nested inside another Genie

The OLE method LibraryObjectName() did not support a Genie nested inside another Genie.

26172 - CitectSCADA crashed when switching an Alarm, Report, or Trend client to another cluster in a redundant environment

When users attempted to switch an Alarm, Report, or Trend client to another cluster in a redundant environment, and the machine where the switch was performed was also a corresponding Alarm, Report, or Trend server, the redundant connection did not work correctly and could become unstable. The redundant connection sometimes resulted in connecting to the wrong computer. Additionally, moving from a redundant cluster to a non redundant cluster sometimes caused CitectSCADA to crash.

26187 - The TrnAddHistory() function failed after adding a month with less than 31 days

TrnAddHistory() allowed the first month to be added successfully but not the second. Similarly a non-leap year could be added, but not the following year.

26210 - Shutting down a Citect Server via CtAPI causes the server to crash

Using the CtCicode method of CtAPI to call the Shutdown() cicode method would cause the server to crash. This problem has been resolved.

26218 - The CSV project Load Trend Group did not delete previous trends

The Load Trend Group icon did not remove previous trends displayed on the Process Analyst page; instead it added the new trends to the pane display.

26236 - Modifications to the Cicode function TimeSet()

The Cicode function TimeSet() now allows a client to set the time on the time server. The Time server will then send the new time to all other CitectSCADA computers on the network. This modification means that the time can be set for all computers with the parameter [Time]Disable set to 0 f rom any CitectSCADA workstation.

26244 - Pack Libraries caused projects to crash in Graphics Builder

Some structurally complex projects with high levels of nesting crashed when the command Pack Libraries was performed.

26295 - Full-screen mode did not work in Demo mode

The CitectSCADA window did not fit properly on screen when running in Demo mode. Full-screen mode now functions correctly in Demo mode.

26296 - Super Genie Array Reads did not work correctly with array tags

The [General]SuperGenieArrayRead Citect.ini parameter was added to fix the following problems:

1 Values flickered on the screen when showing tag array data in a Super Genie.

2 Incorrect items within an array tag were read. Regardless of which item in the array was referenced, the first item was read.

The new parameter is disabled by default. Please note this parameter needs to be set to avoid these issues.

26390 - Could not import pre-version 6.0 trend files using TrnAddHistory() into the version 6.0 trend system

When attempting to import pre-version 6.0 trend files using TrnAddHistory() into the version 6.0 trend system, the data was not visible in the trend.

26465 - Error occurred when running projects using the DDEDrv Protocol

During I/O device setup, the Express Communications Wizard left the board type for DDEDrv blank, and when the project was run, CitectSCADA raised an error. The Express Communications Wizard has been modified to insert "DDEDRV" as the board type, and the error no longer occurs.

26515 - Graphics Builder Automation method PageSelectNextObject() failed

The Graphics Builder automation PageSelectNextObject() method failed to cycle through all objects in nested Groups on a graphics page.

26548 - Double-byte characters printed incorrectly in Project Editor

When printing database records from the Project Editor File menu, languages using a double-byte character set printed incorrectly. The Citect.ini parameter Language[CodePage] has been added, and allows you to specify double-byte character set codepages to be used when printing records from Project Editor.

26566 - New hardware alarm and syslog

A new hardware alarm triggers if a timeout occurs when loading data from the Primary Alarms server. The alarm is logged in the syslog file, and the message “ Timeout from RND alarm server” is displayed.

26742 - Changing a record in Project Editor sometimes resulted in multiple "Record Changed" dialogs being displayed

This problem occurred when a record in Project Editor was changed and the scroll button was clicked without saving the change. After the initial "Record Changed" dialog displayed, the scroll button was incorrectly activated causing more "Record Changed" dialogs to display.

26854 - “Out of file handle” error when compiling more than approximately 70 projects

When compiling a CitectSCADA project with more than approximately 70 include projects, the “ Out of file handle ” error was generated. The number of allowed database file handles has been increased to resolve this issue. Now approximately 216 include projects can be included in a CitectSCADA project.

27298 - Process Analyst exported an incorrect decimal separator from a non-English locale

Process Analyst exported an incorrect decimal separator for time data. This problem has been fixed so that the correct decimal separator is now obtained from the current Regional Settings.

27317 - Project ID now limited to 500

Valid project IDs are now limited to the range 1 to 500. Project IDs set outside this range trigger a compilation error.

27347 - New information added to the Exception Report (V1.4)

The following system and CPU affinity information entries have been added to the Exception Report (V1.4): PageSize, Processor.Count, Processor.ActiveMask, System.Affinity, and Process.Affinity.

The exception report is placed into the debug.log file in your citect\bin folder and is included in the crashlog ZIP file when a CitectSCADA exception occurs.

The new entries have been added to help resolve CPU setup issues on multiprocessor/hyperthreading PCs. The affinity mask information is published only if the number of processors is greater than 1.

27419 - Graphics Builder crashed when a Genie Group button was pressed

Graphics Builder crashed when extremely large strings were used in a Genie and the Genie Group Button was pressed.

27443 - A v6.00 r1 trend display client did not display all trend pens from a v5.50 trend server

When viewing the old-style trend pages on a v6.00 display client that is connected to a v5.50 trend server, some (or all) of the trend pens did not appear on the graph. The trend display client has been modified to correctly display trend pens from version 5.50 of CitectSCADA.

27629 - Certain address ranges imported from Unity into CitectSCADA were truncated

Certain PLC address ranges imported from Unity into CitectSCADA were truncated to 0.

27641 - FastLinx did not import all variable tags configured in a Unity project

Some variable tags configured in large Unity projects were not imported into CitectSCADA.

27669 - Alarm Pages in Japanese did not display correctly in CitectSCADA Pocket

Alarm information in Japanese did not display correctly in CitectSCADA Pocket. This problem has been resolved, and Alarm Pages in Japanese can now be viewed.

27825 - The Cicode function SendKeys() sometimes sent keystrokes to an incorrect window

SendKeys() sometimes incorrectly sent keystrokes to a window other than the specified window.

27829 - Graphics Builder Automation method PageSelectObject() sometimes failed to find object

Under complex scenarios of nested objects, the OLE PageSelectObject() method sometimes failed to find the nominated object. PageSelectObject() now finds the nominated object, and can also locate objects nested in a template.

28388 - Compile Errors occurred in Graphics Builder

Changes to tags in genies were not being propagated to the pages that used them, as old tags were not being removed. This resulted in errors when compiling the pages, as the references were not found.

28402 - Super Genie displayed #ASS after performing a login or logout or a language change

Super Genies displayed #ASS on assigned fields after performing a login/logout or language change. This applies to Super Genies embedded in a page as well as those that were opened in a new window.

28465 - CitectSCADA became unresponsive when the network cable was unplugged from a device

The OPC driver caused CitectSCADA to hang when:

1 A write request was issued to the driver, and

2 processing the write operation took a long time (such as when the device was disconnected from the network and the operation had to time out), and then

3 a read request was issued.

The OPC driver has been modified to resolve this issue.

28547 - Accumulator and report names restricted to 16 characters

Accumulator and report names were restricted to a length of 16 characters. This size has been increased to 79 characters. The maximum size of all fields in the Accumulators Properties dialog box has also been increased.

28562 - A heavily loaded CTAPI session resulted in a memory leak and high CPU usage

In CitectSCADA version 6.00r1, CTAPI connections sometimes caused a memory leak and excessive CPU usage, usually if the CTAPI session created a high number (i.e. hundreds) of outstanding requests. Modifications to CTAPI have fixed this memory leak.

28619 - A redundant trend server with backfilling enabled sometimes experienced a slow Kernel response at startup

A redundant trend server that had backfilling enabled sometimes experienced slow Kernel response at startup, causing slow page display and poor performance during this period. Modifying the acquisition of trend data that occurs during startup has resolved this issue.

28672 - CitectSCADA FastLinx for Mitsubishi no longer requires a license

FastLinx for Mitsubishi now provides full functionality without requiring a license in the hardware key.

28863 - Handle Leaks sometimes occurred when using virtual dial-up modems for Scheduled I/O

With virtual modems configured, the dial-up system sometimes incorrectly set the state of a modem to free when it was actually in use. A handle was leaked each time the dial-up connection was closed, causing CitectSCADA to crash.

28948 - Graphics Builder Automation attributes ShadowOnColourEx and ShadowOffColourEx returned incorrect values

Graphics Builder automation method AttributeShadowOffColourEx was incorrectly setting a value for AttributeShadowOnColourEx.

28950 - Graphics Builder Automation method PropertiesTransCentreOffsetExpressPut() failed to set the offset position

The Graphics Builder automation method PropertiesTransCentreOffsetExpressPut() applied slider positioning for non-slider objects, overwriting the movement positioning.

29056 - Changing Cicode Editor Preferences added an invalid Citect.ini parameter

Changing Cicode Editor preferences caused the unnamed Citect.ini parameter [ScriptEditor] =1 to be added to the Citect.ini configuration file.

29128 - New [General]DeadlockTimeout and [General]DeadlockWarning] Citect.ini parameters

CitectSCADA sometimes showed a DeadLock Detected message box, commonly on runtime shutdown. The following new parameters have been added: [General]DeadlockTimeout specifies the number of seconds to wait before a wait on an event is considered timed-out. This parameter has a default value of 300. A value of 0 will cause CitectSCADA to wait indefinitely (not recommended.) [General]DeadlockWarning specifies whether an error message is displayed if a time-out occurs. This parameter defaults to 1 (a message is displayed.)

29374 - New [General]VerboseToSyslog Citect.ini Parameter

The new parameter [General]VerboseToSyslog enables startup messages displayed by the Kernel in ‘Verbose’ mode to be logged in the SYSLOG.DAT file

. 29421 - Zoom function no longer worked with the Color Picker

The Zoom window in Graphics Builder did not work once the Color Picker eye dropper control was clicked.

29423 - New [Report] Citect.ini parameters to control history files

Two new parameters, [Report]TxtRollOver and [Report]RTFRollOver have been added to determine whether text reports and RTF reports save to a new report output file or append to the existing file. If a report is saved to a new file, the existing report file is renamed. The default value for [Report]TxtRollOver is 1, meaning that text reports are saved in a new file. [Report]RTFRollOver defaults to 0, so RTF reports append to the existing file.

29435 - The Trend Popup page in the CSV Project now supports up to 8 pens.

The Trend popup page in the CSV project previously only supported 4 pens, which meant that if more than 4 pens were used in the CSV_Trend_ Popup function, some pens were lost. The Trend Popup page now supports up to 8 pens.

29497 - New Citect.ini parameter for shutting down CitectSCADA

In unattended sites CitectSCADA can now be shut down after a crash without user intervention. A new Citect.ini parameter, [CrashHandler]NoEmail=1, allows CitectSCADA to shut down without sending an email and without requesting operator input. The crash zip file is saved in bin\Exceptions.

29577 - IFDEFDigAlm and IFDEFAnaAlm macros did not work for time stamped alarms

When supplied with a time stamped digital alarm, the IFDEFDigAlm macro always returned the specified <value if not defined>, whether or not the alarm existed. The same occurred with the IFDEFAnaAlm macro when supplied with a time stamped analog alarm. The macros have been modified to resolve this issue.

29866 - Alarm Servers crashed CitectSCADA when the Alarm Cache was too small

If the [Alarm]CacheLength parameter was set to a value less than the number of Alarms to be displayed on the Alarms page, CitectSCADA could crash. This issue has been resolved, and the Alarm server now triggers a hardware alarm instead of crashing CitectSCADA.

29969 - Reports sometimes displayed incorrectly if the RTF file was created by an editor other than WordPad

Some text editors create RTF files with new line characters added in random places. This caused reports generated by CitectSCADA to be formatted incorrectly. CitectSCADA now ignores these extra characters when reading RTF files.

29988 - The 'Disable Style' property of some Genies displayed incorrectly

When the Citect.ini parameter [CtDraw.RSC]PurgeGenieLists was set to 1, genies containing objects of type bitmap, text, group or symbol set whose 'Disable Style' property is set to 'Hidden' or 'Grayed' were instead displayed as 'Embossed' at both runtime and in Graphics Builder. The new parameter [CtDraw.RSC]PurgeDisableStyle has been created, and setting this parameter to 0 will resolve the problem.