Welcome to CitectSCADA and CitectHMI, Version 5.41

For Microsoft Windows 98, Windows NT4.0, Windows 2000, and Windows XP.

What's in this Document?

What’s New

Upgrading Issues

Known Problems

Note: For the purpose of this document, software, online help, and manuals, “Citect” relates to both CitectSCADA and CitectHMI.

What's New?

See the What's New in the Online Help system for details of new features for this version. The following is a summary of these features:

  • Alarm Summary Page Sorting

Two new parameters have been added so you can now choose the order of alarms displayed on the alarm summary page.

  • Alarm Display Page Sorting by Key

Citect can now sort the alarms displayed on the alarm display page by a set of pre-defined parameters known as order-by keys. This feature has been implemented via changes to the arguments of two existing Cicode functions, and the addition of a new function.

  • CitectVBA Help Corrections

The CitectVBA section of the online Help system has had many corrections and improvements to help clarify the use of CitectVBA code in Citect projects. In particular, please note that CitectVBA can NOW be used in Citect Expression fields, as was previously erroneously stated in the Version 5.40 help.

  • Import Variable Tag Enhancement

Citect now provides a hierarchical tree view dialog for the browsing, selection, and importing of Mitsubishi MxChange tag databases on the network, and for setting up the required connection string and server parameters.

  • The maximum number of included projects has been increased to 240

The maximum number of projects that you can include has been increased from 64 to 240 (239 plus the Citect “Include” project).

  • Trend System Enhancements - Trend Functions

TrnGetBufValue() and TrnGetCursorValue() have been modified to suit Citect's enhanced trend sampling capabilities. If the value is invalid or gated, an error will no longer be returned. Instead, the standard invalid or gated values are returned. You should check the Cicode of any projects calling these functions, and if necessary, check the result using TrnIsValidValue().

  • Trend System Enhancements - Trend Parameters

[Trend]GapFillSamples has been added to allow you to choose whether to fill gaps in your trend based on the number of samples.

  • User Password Encryption and Password Expiry

When a password is entered in the Users form, an asterisk (*) is now displayed for each character entered (Please note that with multi-byte languages, such as Korean and Japanese, there may be multiple asterisk characters for each letter entered). When you save the user record, the password will be encrypted before it is saved to the Users.dbf. An “Expiry time” can be set for Passwords. Whenever you create a user and assign a password, or edit an existing password, Citect time and date stamps this change. A user will be permitted to log in whilst the current time and date is not later than the stamped time and date plus the Password Expiry number of days.

  • Include Functionality for Tag Based Drivers

Citect included project functionality has improved support for the use of tag based drivers. The OPC Driver has been enhanced to make use of this feature. [OID] Reset parameter has been added to allow you to choose whether to reset all OIDs (Object IDs) during compilation.

  • Support for Windows XP

Citect Version 5.41 is the first Citect version to be supported on Windows XP. Recommended hardware requirements are a Pentium 500MHz processor with 256MB of RAM (minimum hardware requirements are Pentium 266MHz processor with 128MB of RAM). Please refer to the Citect online help regarding the use of flashing colours under Windows XP.

  • Graphics Builder Automation extensions

The Graphics Builder Automation interface has been extended, providing new functions for automating the configuration of graphics pages. Please refer to the online help to get a complete listing of all the automation functions available.

  • Support for additional devices and protocols

Communications support has been added to Citect for the following devices:

· User configurable, simple generic serial driver

· GEC Alsthom K-Series HV Protection Relay, Serial

· Campbell Scientific dataloggers, Serial

· Melsec FX2N PLC, Serial

· Fuji, Micrex-SX series, Ethernet

· Idec Izumi, Micro3 PLCs, Serial

· Moore Products, 351& 352 Controllers 383 Multipoint Display, Serial

· Fuji, Micrex-F series via P-Link card

· Schlage Electronics, SE 804S/SN/SX, Serial

· Siemens PLC, Sinec FDL (CP5412A2)

· Square D, Model 650 range (via softhub software), Ethernet

· Unidata, dataloggers, Serial

· Schneider Automation (Telemecanique), XWAY Devices

· Yokogawa FA-M3R PLC, Ethernet

For a detailed listing of the problems that have been fixed in this release, see Relnotes.doc (found in the Citect 'bin' directory).

Upgrading Issues

· Microsoft Internet Explorer 4.0 or later required

Citect Version 5.41 requires that Microsoft Internet Explorer 4.0 or later be installed. In the event that IE4.0 is not installed, Citect will be labelled as a “Special Build” on splash screens and the version may display in the version.build_number (eg. “Version 5.41.86”) format, rather than the Version Label (eg. “Version 5.41r0”) format.

· Display clients will not connect to a standby IOServer on a TCP/IP network

When using a TCP/IP network, i.e. you have [LAN]Netbios=0 and [LAN]TCPIP=1, display clients will not connect to a standby IOServer when the primary IOServer has been shut down. Alarm, Report and Trends connect still connect correctly.

As a temporary workaround to this problem set the following parameters in citect.ini:


<Primary IOServer name>=<IP address of primary IOserver>

<Secondary IOServer name>=<IP address of secondary IOserver>

· Redundant DiskPLCs over TCP/IP not working reliably

Redundant Disk PLCs may not work if you are using the TCP/IP protocol rather than the Netbios protocol that we presently recommend for client/server communications. This problem has not been able to be reproduced on all Citect systems.

· Specific SCADA / complex Citect drivers no longer included as standard

A number of “SCADA” and/or complex Citect drivers are no longer provided in the standard Citect Version 5.41. Citect are fully committed to continue supporting all of these drivers and they will be available to customers as driver packs. These drivers include:

· DNP (DNP3.0 protocol)

· OpenBSI (Bristol Backcock OpenBSI)

· SemAPI (Elsag Bailey)

· SX (Honeywell TDC2000)

· Moscad

· FisherRoc


· Kingfisher

Please contact your local Citect Representative if you are in need of one of these drivers.

· CitectVBA and ActiveX controls

After upgrading, you may get the compile error 'Unresolved function <Page>_ANxx is used in <Page>'. Citect 5.41 Graphics Builder now saves information about ActiveX controls when used with CitectVBA to improve project compilation times. Projects developed under Citect 5.40 do not have this information saved that the compiler expects, and the compiler will generate the error. If you experience this compile error, please re-save any graphics pages that contain ActiveX controls and recompile.

· Included Projects for Tag-based drivers

A new feature of Citect Version 5.41 is the support of Included Projects for Tag-based drivers (eg. OPC, ABLOGIX, etc.). This feature removes previous limitations of using the tag’s record number in Variable.DBF to uniquely identify the tag. Instead, tags are uniquely identified by storing compiler generated unique IDs for variable tags and projects.

If you use other development tools to assist in the bulk editing of variable tags (i.e. perhaps you use Excel to modify the Variable.DBF database directly), then you may encounter the compile error “OID out of sequence. You can set the INI option [OID]Reset=1 which will cause the compiler to re-generate all the unique IDs for variable tags.

· Projects using OPC

The OPC driver included with Citect Version 5.41 now supports Included Projects and is not compatible with the Citect Version 5.40 OPC driver. In general, Ci Technologies recommend a staged upgrade of projects from an old release to a new release. However this staged approach is not possible if you are using the OPC Driver and upgrading to V5.41, in this case all Citect stations must be shutdown and upgraded simultaneously.

· Trend Tag Names

Trend Tag Names can now hold up to 31 characters. If you are using Citect’s Standard templates then ‘Update Pages’ is required for the changes to accommodate for 31 character trend tag names on trend templates to take effect. SPC Trend Tag Names still only support 16 characters.

· Maximum Number of Included Projects

The maximum number of projects has been increased to 240 (239 plus the Citect “Include” project). You should set [CtEdit]DBFiles parameter to its maximum value of 310 to enable 240 (239 plus the Citect “Include” project) included projects.

Known problems

NCR18179 - #COMS appearing on heavily loaded Standalone systems.

Heavily loaded Standalone Citect systems may display #COMS on graphic pages for a period of ~1 minute. A workaround for standalone systems to limit this effect is to increase the parameters [lan]timeout and [lan]retry. A more comprehensive solution is presently being investigated.

NCR 18169 - Some Graphics Builder Automation functions have been updated.

Some changes to the Graphics Builder Automation interface have been made that are not reflected in the online help. Specifically, the online help should indicate that:

a. The function "PageUngroupSelectedObjects" is meant to be “PageUngroupSelectedObject".

b. The functions PropertiesColourColourPut and PropertiesColourColourGet had a property called 'FillColourType', with a numerical range of 0 to 4. This should have been "Index" and with a range of 0 to 31 for Multi-state, 0 to 255 for type Array and Threshold, and 0 to 1 for Gradient.

c. PropertiesAccessGeneralPut and PropertiesAccessGeneralGet have an extra argument named "Command". This is incorrect. The list of arguments should be 'Description', 'Tooltip', 'Area', Privilege', and 'LogMessage'.

NCR 18096 - The compiler will crash when compiling more than 239 projects.

The maximum number of projects has been increased to 240 (239 plus the Citect “Include” project). Include more than 240 projects will cause the Citect compiler to crash.

NCR 18038 - VBCallOpen() and VBCallRun() do not work on inbuilt CitectVBA functions.

The Cicode functions 'VBCallOpen()' and 'VBCallRun()' cannot be used to execute built-in VB commands (eg. Print()). These functions run user-defined subs and functions without any problem.

NCR 18016 - Running SQLconnect("") in the Kernel’s ‘Cicode’ window will cause Citect to crash.

NCR 17658 – Using "SELECT * FROM Tag" to query CTAPI fails to return data for large Citect projects.

A deadlock error occurs during a ctFindFirst(). Data is returned OK the second time the query is run.

NCR 17527 - Changes to CiVBA code are not always picked up by the compiler:

Occasionally, some CitectVBA code changes will not be picked up by the Citect compiler irrespective of the setting of the incremental compile option. These occurrences are very rare and not expected to occur with the majority of Citect installations.

NCR 17504 - Performance of CTAPI for recordset style requests is poor.

The performance of CTAPI when querying for recordset style requests is poor. We are researching this problem and will post new information in the Citect knowledgebase when it becomes available.

NCR 17264 - Running code on startup that writes to alarm properties causes a crash.

You can specify a Cicode function to execute automatically when Citect starts up. This Cicode is executed as soon as the Cicode system comes online. If that startup code attempts to write to alarm properties, it will cause Citect to crash.

NCR 16559 – The SumState and SumDesc fields on an alarm summary page don't retain the correct state of an alarm when an alarm returns to the OFF state. A solution has been developed and is in a trial state. To retain the correct state of an alarm when an alarm returns to the OFF state, set the Citect.INI [alarm]sumstatefix=1. The default value for this parameter is 0. Future Service Packs will amend this default state to 1.

NCR 16536 – CitectVBA does not currently support the use of Labels to redefine a variable tag.

If you use a Label name in CitectVBA where you would use a variable name, you get a compile error "Undefined function LabelName is used in..."