Citect for Windows

Release Notification

Version 5.10 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 6655 - New [ALARM] HRESTYPE Options

New [ALARM] HRESTYPE Options 5=24 Hour BCD Timer (Hex); 6=24 Hour BCD Timer (Dec); 7=24 Hour Millisecond Timer. Also add [ALARM]HRES24HRDEADBAND default = 60 seconds before PLC time will show as previous day.

NCR 6721 - Sliders draw multiple thumbs

Sliders altering PLC device tags can sometimes draw multiple thumbs when the tag value changes.

NCR 7695 - SYSLOG.DAT to Kernel

The DspFile() function now allows the file SYSLOG.DAT to be displayed in the Citect debug kernel.

NCR 7776 - Com Break parameters

Two new parameters [Page]DynamicComBreakColour and [Page]DynamicComBreakDensity have been added to control the behaviour of the appearance of the Com Break dithering.

NCR 7854 - Buttons do not popup

Under certain circumstances a button can appear to be depressed when it is not.

NCR 7948 - Genius protocol default

The Genius protocol now uses interrupts (polltime=0) as the default.

NCR 8227 - Runtime limitation on animation points

Runtime does not run correctly if the number of animations is greater than MaxAn. This limitation has been removed.

NCR 8672 - [Code]Queue

The default for [Code]Queue has been increased from 32 to 256 elements.

NCR 8719 - Resized and rotated objects display incorrectly

All old animation types, trends and buttons do not display correctly if rotated and resized, particularly when in genies pasted onto a page.

New [ALARM] HRESTYPE Options 5=24 Hour BCD Timer (Hex); 6=24 Hour BCD Timer (Dec); 7=24 Hour Millisecond Timer. Also add [ALARM]HRES24HRDEADBAND default = 60 seconds before PLC time will show as previous day.

NCR 8720 - DspShow() Cicode function

The DspShow() Cicode function does not work with dynamic objects.

NCR 8721 - DspAnMoveRel() Cicode function

The DspAnMoveRel() Cicode function does not work with dynamic objects.

NCR 8985 - Disable on insufficient area or privilege on symbol sets

A symbol set configured with disable on insufficient area or privilege will not display as disabled if the user has no privilege.

NCR 9109 - Buttons in libraries drawn the wrong size

Buttons on a page linked to a library sometimes are drawn the wrong size in Citect runtime.

NCR 9209 - Buttons displayed in wrong location

Buttons drawn via Cicode functions are displayed in the wrong location in Citect runtime.

NCR 9348 - Disable on insufficent area or privilege not functional

After logging in as a different user the page needs to be re-drawn before the disable style takes effect.

NCR 9349 - Object access control failure on keyboard commands

Keyboard input is allowed irrespective of the user's access privilege when the keyboard command uses the same area as the object.

NCR 9381 - Cursor to object without input

If an object has privilege restricted keyboard input configured and the user changes to one without privilege on that page then the user can still cursor to the object even though the keyboard command cannot be executed.

NCR 9574 - Prompt messages lost

Prompt messages sent by a super genie popup are not displayed at the parent window prompt AN.

NCR 9991 - Runtime colours are different to colours in Graphics Builder

Animated bitmaps sometimes appear at runtime in a different colour to that seen in the Graphics Builder.

NCR 10017 - SPC trends do not show breaks in trend data

Unlike normal trends SPC trends do not show breaks in trend data but instead show the trend as a continuous plot.

NCR 10058 - Keyboard mouse button commands on buttons not functional

If you define keyboard mouse button commands such as RBUTTON_CMD_DN for a button object these commands will not function.

NCR 10087 - Buttons not displaying in runtime

Certain project configurations can lead to buttons that do not display in Citect runtime.

NCR 10161 - Buttons don't show COM failure

If a button acts on a tag that is in COM break condition the button is not hashed.

NCR 10276 - Fill level is calculated incorrectly

Fill level on dynamic objects do not take into account the line thickness of the object when determining the fill level.

NCR 10297 - Keyboard commands not logged on trends

If keyboard commands on trends have log messages configured they do not get logged to the specified log device.

NCR 10298 - Access control for trends not working

If a user without area access to a trend switches to the trend page the trend is incorrectly displayed to the user.

NCR 10331 - Symbol set rotation and size origin incorrect

The rotational and sizing origins for symbol set objects are always top left hand corner irrespective of configuration.

NCR 10482 - The PaletteLockCount variable gets out of sync

The PaletteLockCount variable gets out of sync if new objects are used to change pages

NCR 10490 - Multistate symbols losing information

When several conditions are filled out in a multistate symbol, with empty entries between, Graphics Builder only shows conditions up to the first empty entry.

NCR 10496 - Rotation of symbol sets incorrect

If you apply rotation to a symbol set with keyboard input the origin of rotation is incorrect in Citect runtime.

NCR 10657 - Event trend client crash

When a trend client is viewing an event trend page and its network connection is interrupted it may crash.

NCR 10761 - Multistate symbol display

In some cases multistate symbols will not clear a previous symbol when entering a state for which no symbol is defined. This problem has been fixed, however existing pages with this problem will need to be opened in Graphics Builder and resaved.

NCR 10776 - SPC Display period

The display period for SPC pages does not change when a pen with a different period is loaded.

NCR 10801 - Korean Language Input

Korean characters are corrupted when configuring a project using Korean Windows NT.

NCR 10830 - Printer palette file does not work

When using the WinPrint() Cicode function and explicitly specifying a palette file the printed image is incorrect.

NCR 10831 - Grouping alters object depth

Grouping a selection of objects causes the object's Z depth to change.

NCR 10840 - ctPointRead()

ctPointRead() with digital data would shift bit offset. Use new ctPointBitShift() function to calculate the shift.

NCR 10841 - CTAPI bytes

The CTAPI functions ctPointWrite() and ctPointRead() do not work with byte data types.

NCR 10851 - Default Character Set

Citect may crash when attempting to select a character set that does not reside on the PC. The default character set is now loaded in these cases.

NCR 10870 - Real constants

Real constants are now stored as 8 byte rather than 4 byte for extra precision

NCR 10872 - Symbols sets size and move incorrectly at runtime

If a symbol set is rotated on a page in draw and has dynamic movement and or sizing the origins of sizing and movement will be incorrect at runtime.

NCR 10880 - StrToDate()

Calling StrToDate() with a blank string or a string with a zero month (invalid) then Citect will hang if the computer is set to a timezone that does not have daylight saving.

NCR 10937 - Standby alarm properties

Standby alarm properties fail if the alarm I/O Device was declared after the primary.

NCR 10959 - Cicode returning strings

Cicode functions that return a string with a % symbol may not display the %, and in some cases cause a crash.

NCR 10960 - GPF global debug data

Debugging Cicode with more than 50 global variables will cause a GPF.

NCR 10981 - Multiple installations

Help files from different versions are sometimes incorrectly located.

NCR 11002 - The display Cicode functions do not work with dynamic objects

The Cicode functions DspGetAnBottom(), DspGetAnWidth(), DspGetAnHeight(), DspGetAnLeft(), DspGetAnRight(), DspGetAnTop() do not work for the following Objects: Freehand line, Symbol set, Rectangle, Ellipse and Polygon.

NCR 11018 - Crash in page properties

A crash occurs when changing page properties under Windows 95.

NCR 11019 - Network shutdown

Network shutdown with the Shutdown() function and mode 6 will not work.

NCR 11024 - Unscaled Reals in Super Genies

Writing to an unscaled real variable that has been passed into a super genie by either the AssWin() or AssPopUp() functions does not work.

NCR 11036 - Last Alarm Format

Sometimes the parameter [Alarm]LastAlarmFmt will not operate correctly.

NCR 11047 - 'Find user function' malfunction

If 'find user function' cannot find a string, it returns any function name > 32 characters.

NCR 11048 - [LAN]Parameter Changes

Increased parameter [LAN]WritePool Maximum to 8096; Increased parameter [LAN]SesSendBuf Maximum to 1024; Reduced parameter [LAN]BackoffTime default to 1; Reduced parameter [LAN]WaitBufTime default to 20; Increased parameter [LAN]NetTraceBuf maximum to 8096


Can now display CITECT.INI file in the Citect kernel.

NCR 11085 - Access control inconsistency

If you create a new user with privilege 1 level access to area 3 the user does not have viewable rights to area 3 unless you explicitly specify 3 in viewable areas.

NCR 11097 - Hardware error on untyped Super Genie

If you have an untyped Super Genie that is not assigned you get hardware errors.

NCR 11099 - CitectInfo() with Large Disks

CitectInfo("DISK",sDrive,sType) returns a negative number if disk size is over 2 gigabytes. Added two more disk information parameters, 2 returns free disk space in kilobytes, 3 returns total disk space in kilobytes.

NCR 11141 - Gap in trend display

If you hit scroll to real time you get a small gap at the start of the trend. If you hit scroll to real time again then the gap disappears but another appears at the start again.

NCR 11154 - Limits on number of alarms

A limit of 32000 alarms exists per category, which may cause problems when more are used. The limit has now been changed to 64000 per category.

NCR 11161 - New users viewable areas

Configuring new users requires unnecessary explicit declaration of viewable areas.

NCR 11163 - RTF report display

Using the RTF report display may corrupt memory when leaving the page.

NCR 11170 - TagRead()

TagRead() may cause Citect to crash when an overflow occurs.

NCR 11173 - Report Redundancy

Redundant Reports Server may take a few minutes, or fail to run reports, when the primary loses its network connection.

NCR 11178 - Event trend stretching

If you stretch an event trend by changing the eventbase to be less than default the initial display is OK. However, if in realtime mode, the new events are display in the default eventbase and not in the new eventbase.

NCR 11182 - Read ahead

Page General now contains statistics for % of Cache Read Ahead.

NCR 11184 - Disk I/O Device

The default MaxPending and Delay have been adjusted to increase performance of disk driver.

NCR 11187 - 1ms Kernel accuracy

The Citect kernel now has 1ms timer accuracy.

NCR 11191 - CS31ARC

Citect crashes after running for anything between 2 and 20 minutes with the message "Severe Error".

NCR 11194 - KE alternate ini register

KE driver supports option to register for on-line check

NCR 11200 - Graphics Builder error while saving page with native string substitution

Project directory paths in excess of 32 characters prompt the error 'Database error while saving native strings' when saving graphics pages containing internationalisation strings.

NCR 11209 - Too many kernel windows

Opening too many kernel windows causes strange behaviour.

NCR 11229 - Rotated plot text the wrong size

Text drawn as rotated on a plot using the PlotText() Cicode function is drawn using the wrong size.

NCR 11244 - Tooltip operation is erratic

Tooltips sometimes do not appear in runtime despite having been configured.

NCR 11267 - DspRichTextScroll() does not work

The Cicode function DspRichTextScroll() does not work for directions left and right.

NCR 11316 - Modbus driver

The modbus driver clears the com-buffer of data intended for the Cicode ComRead() function.

NCR 11319 - Extra network traffic

When using standby I/O Devices there may be unnecessary traffic between networked clients and I/O Servers.

NCR 11320 - Argyle Digital states

Argyle digital alarms do not update their timestamp when changing states.

NCR 11325 - Cicode Editor memory usage

Over several hours of use, the Cicode Editor may use more and more memory.

NCR 11330 - F1-F11 keyboard keys with modifiers

F1-F11 keyboard keys with the modifiers CTRL+ALT or CTRL+ALT+SHIFT do not work.

NCR 11335 - MsgRPC() crashes

MsgRPC() may crash Citect when called on the server.

NCR 11340 - Time Stamped Alarms

Citect High Res Alarm timestamps do not always match what the PLC reported.

NCR 11342 - I/O Server WatchDog

A new parameter has been added to allow disabling of the watchdog on Standby I/O Devices.

NCR 11361 - Citect Explorer Crash

Creating a project called Master causes the Citect Explorer to crash when next started.

NCR 11376 - DspInfoField() limitations

The DspInfoField() Cicode function does not function correctly when using the [CTEDIT]Copy parameter.

NCR 11385 - ToolTips may change window focus

When a tooltip pops up, and there are popup windows on the screen, one of the popup windows may disappear and move behind the main Citect window.

NCR 11387 - Missing pages may cause a crash

Missing CTG and/or CTF files may cause Citect to crash.

NCR 11388 - DDEWrite() Cicode function

The DDEWrite() Cicode function may cause Citect to crash when long strings are used in the arguments.

NCR 11405 - Genie substitution strings propagation

When changing the substitution strings for the lowest level Genies the changes are not correctly propagated to the higher level Genies

NCR 11415 - File Find does not work

The File|Find dialog in Graphics Builder may cause a crash when used.

NCR 11421 - Super Genie popup origins not relative to the page

Regardless of the parent page position Super Genie popups are displayed in the same screen position instead of being displayed at the same position relative to the page.

NCR 11426 - Memory Corruption

Citect may corrupt memory with the DspInfo() function.

NCR 11428 - DspAnGetPrivilege() and DspAnGetArea() Cicode functions

Two new cicode functions, DspAnGetPrivilege() and DspAnGetArea(), have been added to allow users to query an object's area and privilege from Cicode.

NCR 11431 - Four digit dates

Templates have been modified to display 4 digit dates.

NCR 11436 - DevInfo()

The DevInfo() function will now be able to return the length of the database fields.

NCR 11439 - AlarmSumGet()

When using AlarmSumGet() while traversing the summary alarm list in reverse (AlarmSumLast() -> AlarmSumPrev()) summary entries may not be subsequently updated.

NCR 11442 - Genies move on upgrade

When upgrading a project to version 5.xx various Genies on various pages move.

NCR 11447 - Text disappears on upgrading

Text specified as transparent in versions earlier than 5.xx will upgrade to transparent text, even though the earlier version displayed them as white text.

NCR 11453 - Software protection failure

Fatal system errors requiring operator input are not disabled when setting [debug]syserrdsp=0.

NCR 11455 - Crash in page properties

A crash occurs when adding page keyboard commands in page properties under Windows 95.

NCR 11458 - TrnSetPen() requires refresh

Using the TrnSetPen() function may require that the trend page be refreshed before the data for the pen will show.

NCR 11463 - Error "Invalid Store Variable Type"

You may get this error if you have unassigned Super Genie variables.

NCR 11467 - Delay on Trend History

When trend history files roll over may cause delays in Citect Trends Server

NCR 11500 - String resource not found

System error messages in syslog.dat print as <String resource not found> instead of correct message.

NCR 11514 - Blocking data failure

Blocking of consecutive non digital data types fails.

NCR 11525 - Graphics Builder shows wrong button disable type

Buttons defined before v5.xx as having disable style of GRAY_ALL are shown in Graphics Builder as a disabled style of 'embossed' instead of 'grayed'

NCR 11531 - Field width of text marked for language change

If text marked for language change, i.e. in the format @(Text, [,Width[,Justify]]), has a Width specified that is greater than 255 then Citect may crash.

NCR 11562 - AlarmDelete()

Calling AlarmDelete() may cause a crash when an invalid save file is used.

NCR 11574 - ctPointWrite()

Using ctPointWrite() to a digital array will write to the first element and set all other elements to zero.

NCR 11580 - FormNumPad() and PagePopUp() not positioned correctly

The Cicode functions FormNumPad() and PagePopUp() do not position themselves at the [x,y] mouse co-ordinate relative to the parent window when the page is moved or resized.

NCR 11601 - Year 2000 leap year.

Year 2000 is not correctly recognised by Citect as a leap year.

NCR 11636 - Colour mapping problems

Citect runtime may map colours incorrectly causing visible differences between what a page looks like in Graphics Builder and how it appears at runtime.

NCR 11644 - Sliders write value when made visible

When a slider has a visibility property which is reset so that the slider is made visible and its value changed at the same time, the slider may write back the previous value.