Citect for Windows

Release Notification

Version 5.20 Rev. 0


General Description For This Release

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

Fixed Problems and Enhancements

NCR 4658 - AlarmGetThreshold()

With Analog alarms, AlarmGetThreshold() does not return the correct value once AlarmSetThreshold() has been called.

NCR 4999 - Engineering scale malfunction

If a variable tag has a raw scale and no engineering scale, it is treated as if the engineering scale is 0 - 32000.

NCR 6773 - New modes added to IODeviceControl

New modes have been added to IODeviceControl to get Unit Number, I/O Server name, etc.

NCR 7082 - Alarm summary entries

Alarm summary entries may be duplicated with redundant servers when one server is shutdown then restarted.

NCR 7776 - Com Break parameters

Two new parameters, [Page]DynamicComBreakColour and [Page]DynamicComBreakDensity have been added to control the appearance of the com break dithering.

NCR 8972 - I/O Device Changeover

The change over time from a failed I/O device to a standby I/O device has been reduced. The [IOServer]HeartTime time default has been increased.

NCR 10019 - Graphics Builder crash

The Graphics Builder crashes when a change in a Super Genie is saved during application closure.

NCR 10027 - Vertical Align Even

Vertical Align Even does not always align objects with an even spacing.

NCR 10112 - Setup Wizard malfunction

The "Run reports concurrently with Primary Reports Server" option does not default correctly during network setup.

NCR 10115 - Setup Wizard malfunction

The "Trends Server supports redundancy" option defaults incorrectly for a stand-alone computer.

NCR 10410 - Event Trend Cursor Value

Event Trend Cursor shows Event number 0 instead of <na> for no event.

NCR 10426 - Internal compiler table overrun.

If any Cicode causes the internal request table to be greater than 64K, data does not get requested correctly, e.g. 2000 accumulators with triggers.

NCR 10559 - Trend Print Scales

Trend Print scales do not print correctly for non-sequential trend pens.

NCR 10651 - Cursor coordinates do not update

When drawing or resizing an object, the cursor coordinates do not update on the status bar.

NCR 10705 - Group button behaviour incorrect

The group button on Graphics Builder Genie forms incorrectly changed its behaviour across versions.

NCR 10829 - TCPIP driver no buffer error

The TCPIP driver prematurely returns a WSAENOBUFS error. Refer to knowledge base article Q2366 for documentation on the NoBufferSleepTime parameter.

NCR 11034 - [Page]RangeCheck with Dynamic text

Dynamic text does not take into account the [Page]RangeCheck parameter and shows #RANGE when the parameter is zero.

NCR 11035 - [Page]ComBreakText with Dynamic text

When [Page]ComBreakText is set to 0, dynamic text objects do not get hashed.

NCR 11121 - Driver Error Messages

There is no error for drivers to allow a COM break to occur with no hardware error logged.

NCR 11185 - LAN Parameters

The maximum value for the [LAN| ReadPool parameter and the default for [LAN] SesSendBuf have been increased to 8196 and 128 respectively.

NCR 11324 - In Page I/O Error

When running Citect across a network, if the connection is lost, Citect may hang or crash with an In Page I/O Error.

NCR 11332 - Trend Printing

Trend Plots do not have Engineering units on them.

NCR 11338 - Font and Keyboard substitutions

You cannot override font or global keyboard records in the include project with records in your project.

NCR 11345 - [RUN] Path failure caused Citect to shutdown

Even using the [CTEDIT]BACKUP path parameter, it is possible for Runtime to shut itself down when the RUN path becomes invalid.

NCR 11362 - Next button not working

The Next button may not work when viewing old style (v3.xx/4.xx) animation records in the Graphics Builder

NCR 11378 - DspTrend() and DspBar() with library objects

The Cicode functions DspTrend(), and DspBar(), do not work on trend and bar graph library objects.

NCR 11425 - UNC Names in Citect Explorer

UNC path names are accepted in Citect Explorer, however the browse for folder dialog provides no way to browse using UNC paths.

NCR 11444 - Path Variable

The Citect installation needlessly adds the Citect bin directory to the path in autoexec.bat

NCR 11466 - Citect for Windows DOS I/O connectivity

Citect for Windows Standby I/O Servers that are serving data to DOS Clients do not use redundancy properly and do not start serving data if the primary server stops.

NCR 11491 - Millisecond Trend export

There is no provision to show the Millisecond time when performing a trend export function, and the data exported does not match the contents of the trend file.

NCR 11493 - Millisecond Trending

Trend page does not display Millisecond Time on the trend page (both real-time and historical)

NCR 11496 - TrendSetTime()

TrendSetTime() sets trend and time field to blank an end time before 1980 or sometime in the future is entered.

NCR 11523 - Trend exporting truncates the date field

The trend exporting functions truncate the date if you are using long date format.

NCR 11596 - Variable alarm descriptions on summary pages

The default value of the INI parameter, [ALARM]VariableSumDesc, has been changed to 1.   For a full explanation of this parameter, see the Readme file.

NCR 11648 - Template modifications for Y2k Compliance

Trend and Spc Templates need to be changed to use 4 digit years instead of 2 digit years.

NCR 11651 - Array Write

It is not possible to write to more than one element at a time with a digital array in a Memory PLC.

NCR 11659 - GetVarStr()

The compiler macro GetVarStr() will fail with the TYPE argument.

NCR 11666 - Incorrect Fill colour display

Graphics Builder may display the incorrect colour in the Fill/Level property sheet if the fill colour is set to black.

NCR 11695 - PlotMarker()

PlotMarker() does not work for negative coordinates.

NCR 11697 - Corruption when saving in Graphics Builder

Graphics Builder may corrupt Page, Genie, and Symbol files when saving if complex objects with a large number of properties are used.

NCR 11699 - Buttons do not clip symbols or text

Text or symbols on a button do not clip to the extent of the button, and the cursor size will be the size of the symbol or text.

NCR 11706 - Printing project properties

Printing from the Project Editor does not show the same minor and major version numbers as seen in Project Properties in Citect Explorer.

NCR 11715 - Event Trend Scrolling

When first viewing a new event trend, it may scroll from the left instead of the right.

NCR 11740 - Void function as graphics object expression

If you use a void function (one with no return type) as an expression for Scaling, Movement, or Fill Level expression, then an "Incompatible types" error will be generated by the compiler.

NCR 11744 - Update pages enhancement

Update pages has been changed to do a not-equals timestamp comparison, rather than a less-than/greater-than comparison so that mixing files from disparate projects will work correctly, regardless of the save time of the projects.

NCR 11747 - Could not open the language database on startup

An error message displays on startup if the English.dbf (or local language dbf) file is read only or being simultaneously accessed by multiple Citect clients from a file server.

NCR 11756 - ABTCP maximum request size configurable

Driver citect.ini parameter permits default maximum request size for the ABTCP protocol of 1888 bits to be changed provided the matching protdir entry is changed.

NCR 11777 - Assert, DebugMsg()

The Assert() and DebugMsg() Cicode functions have been included. The __LINE__ and __FILE__  macros are now supported.

NCR 11786 - Version info for drivers

The version information for all drivers related to the Modbus driver incorrectly showed the version filename and description to be "Mbplus"

NCR 11787 - Error on restore

If a project's description is 32 characters or more, Backup/Restore will fail with the message "String Buffer Overflow".

NCR 11793 - CTAPI via TCP/IP

The CTAPI and the Cicode debugger now allow remote access using the TCP/IP protocol.

NCR 11799 - SIDIRECT blocking

Support for blocked writes of word data types added for SIDIRECT driver.

NCR 11803 - Insert Wizard Text in Graphics Builder cannot be localised

Text used by the Object Properties Insert Wizard is not included in the ctres32.dll

NCR 11804 - Trend Server Crash

If you quickly press history scrolling buttons on a trend client and the trend span is greater than 32000 times the display period, then the display may not be correct and the Trend Server may crash.  This will be more prominent when you have recently added new trends.

NCR 11812 - Windows NT4 extended character sets not working in Graphics Builder

Under Windows NT4 the edit box fields of the Object Properties dialog do not allow entry of extended character sets such as Hebrew or Russian.

NCR 11814 - The Citect License Agreement is now online

The license agreement is now distributed online and accepted by the user during the installation of Citect.

NCR 11815 - Trend objects cause crash during upgrade

Trend objects may cause an upgrade to crash in Graphics Builder.

NCR 11816 - Global keyboard echo

Global keyboard sequences do not echo on the command line.

NCR 11822 - ctGetProperty()

The ctGetProperty() function now supports getting metadata.

NCR 11823 - ctFindFirst()

The ctFindFirst() function now allows returning of device and trend information.

NCR 11824 - Keyboard command problems

Citect may execute the wrong Cicode for a key sequence.

NCR 11827 - Disabled text problem

Disable as grey does not allow text objects to update.

NCR 11832 - WinNewAt() Cicode function

When [Page]DynamicSizing=0 and [Page]FullScreen=1, the WinNewAt() Cicode function ignores the coordinates passed to it and places the window in the top left corner (0,0).

NCR 11835 - COMLI Time data type

The length of the Time data type has been limited to 12 bytes.

NCR 11837 - Wrong values passed to Cicode functions for default value

A Cicode function that has a default value for an argument may receive a value other than the specified default.

NCR 11842 - Trend Export

Trend Export does not support 4 digit years.

NCR 11843 - Privilege on keyboard commands

Keyboard commands do not handle privileges properly.

NCR 11845 - Edit Forms in a localised Graphics Builder show invalid text

Graphics Builder forms such as the "Variable Tags" form in a localised version of Citect (such as Korean), do not match text from the localised citect.frm file.

NCR 11847 - New WinNewAt() mode

The Cicode function WinNewAt() has a new mode 1024 which disables dynamic sizing for the window, overriding the setting for [Page]DynamicSizing.

NCR 11854 - Trend Page

Trend Page is now faster to display on a Citect client

NCR 11856 - ClusterSetName()

ClusterSetName() may cause a GPF on the attaching server.

NCR 11864 - Symbols moving or not appearing

Symbols sometimes appear in the wrong place or fail to appear in Citect, even though Graphics Builder displays them correctly.

NCR 11872 - ctOpen()

The ctOpen() function supports user name and password for network CTAPI.

NCR 11873 - DspTrend display problem

DspTrend scrolls from left to right when adding samples, rather than adding the sample to the right most extent of the trend.

NCR 11874 - Alarm format field aliases

It is now possible to have runtime alias alarm format fields so that reserved SQL keywords such as "VALUE" can have an alias so that they can be logged via SQL. Please refer to the online help for more information.

NCR 11876 - SetArea()

The SetArea() Cicode function does not work properly in Version 5.10.

NCR 11879 - ctOpen()

Read only and licence mode added to the ctOpen() function.

NCR 11886 - Alarm Categories

Number of alarm categories increased from 256 to 16,376.

NCR 11890 - MailRead()

The MailRead() function returns the receiver name instead of the sender name.

NCR 11895 - ctListEvent()

CtListEvent() function added to CTAPI. This function allows efficient detection of changes of data in a list.

NCR 11902 - Hidden objects

Command cursors are not hidden on hidden objects.

NCR 11903 - Alarm Properties

Alarm properties are now supported in Super Genies, Tag functions, and DDE.

NCR 11940 - CtApi point functions

CTAPI point functions fail unexpectedly with redundant I/O Devices.

NCR 11943 - IODevice offline

You may get an incorrect hardware alarm saying "IODevice offline" on startup of the I/O Server

NCR 11953 - ctListRead()

The ctListRead() function may count more dynamic points than are read in the list.

NCR 11954 - Changing pages

Incorrect error messages occur when changing pages.

NCR 11957 - Install should upgrade existing Citect.ini

The Citect Installation should add new entries to an existing citect.ini file, rather than completely overwriting any existing ini file.

NCR 11966 - Drivers Hot Standby option

A Hot Standby option is now supported for MODBUS, MODBUSA, MODCELL, and MOORE drivers.

NCR 11974 - Invalid dates with TimeToStr() function

TimeToStr() does not check for invalid arguments (dates before 1/1/1980 and after 31/12/2037).

NCR 11978 - TITCPIP driver

The TITCPIP driver does not reestablish communication after a cable disconnection.

NCR 11985 - TagDebug

TagDebug does not show the complete 32 characters of a tag name.

NCR 11987 - Dynamic Text Background colour

If you have set a dynamic text object to change fonts, and the only difference between the two fonts is the background colour, then the background colour will either not change or will be set to that of the page.

NCR 11998 - Task Still Running

You may get the error string "Task Still Running" when calling Cicode via CTAPI.

NCR 12014 - Command Log of dates

Default Command Log interpretation of {DATE,n} changed. For Y2K compliance the parameter [Keyboard]LogExtendedDate default has been changed to 1 (dd/mm/yyyy) from 0 (dd/mm/yy).  Existing projects may be affected due to the extra field length and may not log the last two digits of the year if the minimum field length of 8 was specified.

NCR 12016 - DspGetAnFromPoint() enhancement

DspGetAnFromPoint() can now return all the ANs at a given point.

NCR 12035 - StrtoDate()

StrToDate() does not support short month specified in text format (e.g. 21-Jul-1998).

NCR 12037 - PageDisplay() crash

If you use a button to display a page and invoke the button with the ENTER key instead of the mouse, then Citect may crash if the page is slow to display.

NCR 12097 - GrpToStr()

The GrpToStr() function does not display area 255.

NCR 12103 - DspFile()

The DspFile() function does not work if any AN is greater than 256.

NCR 12117 - Standby I/O Server

In certain cases the driver error "Driver not responding" does not cause the standby I/O server to take over.

NCR 12125 - Raw scale malfunction

If a variable tag has an engineering scale and no raw scale, it is treated as if the tag has no scale and uses a scale of 0-32000.

NCR 12135 - DevRead()

Citect may GPF when reading from an ASCII device.

NCR 12171 - Hardware Key versioning

Citect version information is now recorded in the Hardware Key, and verified at runtime against the Citect version.

NCR 12172 - Unreferenced tags are not checked

Variable Tags that are not directly referenced are not checked to see whether they point to a valid I/O Device during compilation.

NCR 12185 - ODBC Data Links

When Citect is installed it causes ODBC 3.51 Data Links to fail.

NCR 12189 - Izumi Driver

Counter variables are not displayed correctly. i.e. the 14th bit is sometimes randomly toggled.

NCR 12228 - ctListData() CTAPI function

The ctListData() CTAPI function may return incorrect data for digital points.

NCR 12231 - Modeless Cicode forms

Modeless Citect forms can cause Citect to crash if the writeback Cicode variables assigned to form fields go out of scope before the form is closed.

NCR 12274 - Accessing data from remote I/O server

The ctListRead(), ctReadPoint() and ctPointWrite() functions will fail when accessing data from a remote I/O server where the computer is also an I/O Server. If the computer is only a Citect client, these functions will operate correctly.

NCR 12284 - Compiler __DATE__ macro

The compiler macro command __DATE__ returns an incorrect month.

NCR 12303 - Recursive keyboard command

If you have a recursive keyboard command (e.g. LBUTTON_CMD_DN calling KeyPut(KEY_ENTER) and a keyboard command for KEY_ENTER) and the second command displays a new page, Citect may crash when the keyboard command is used.

NCR 12314 - StrToDate() and FileGetTime() with daylight saving rollover

StrToDate() and FileGetTime() may return times which are 1 hour out when used for dates between the rollover date for daylight saving and the end of the same month - this will occur at both ends of daylight saving.

NCR 12352 - Citect as an ODBC server

A query for the value of a string tag will just return the tag name and not the string value.

NCR 12355 - Remote debugging

Remote debugging is now supported on both Windows NT and Windows 95 via TCP/IP.

NCR 12376 - I/O Server crashes with timeouts

When an I/O Server is quite loaded and a lot of devices are timing out, then corruption may occur which may lead to unexplainable problems and crashes.

NCR 12406 - Default Alarm Display interpretation of {DATE,n} changed

For Y2K compliance the default has been changed for the parameter [Alarm]ExtendedDate to 1 (dd/mm/yyyy) from 0 (dd/mm/yy). Existing projects may be affected due to the extra field length and may not display the last two digits of the year if a minimum field length of 8 was specified.

NCR 12412 - Trends may not animate correctly

Under some circumstances, trend objects on a page may not appear, or will not update when they should.

NCR 12476 - Device definitions changed relating to Date field

For Y2K compliance the device definitions of Include and Example projects have been changed so that the AlarmLog, AlarmPrint, and OperLog devices support 4 digit years by using {DATE, 10}.