35
Mx4Facilities version 7.0 Service Pack 4 1 Mx4Facilities 7.0 Release Notes for Service Pack 4 This document describes the modifications and fixes made in Mx4Facilities version 7.0 Service Pack 4 as well as providing installation information. Important: As per recommended practice, all projects should be backed up prior to commencing the Service Pack installation. Important: All projects must be upgraded and recompiled after installing this Service Pack. Failure to do so will result in conflicting database size messages. To force an upgrade, edit the Citect.ini file and set [CTEDIT] UPGRADE=1. Ensure that the Incremental Compile menu option (in Project Editor→Tools→Options) is not checked, or set [CTEDIT] INCREMENTALCOMPILE=0. Customers should also do an Update Pages (in Graphics Builder→Tools→Update Pages) on any projects using CSV_Include templates. Important: In v7.0 service pack 1, an attempt was made to translate all Project Editor Period field text strings for French and German installs into their localised form. These changes, with the exception of German day of the month, were reversed in Service Pack 2. The majority of French and German customers, who are not currently running Service Pack 1, do not need to reconfigure their projects. However, users upgrading from Service Pack 1 may need to update their projects to match the new drop down options. For more information see issues 36365.1 and 36365.2 on the following page, and Table 1 below. Table 1 - French and German Period field changes in Service Pack 4 Upgrading from v7.0 release Upgrading from v7.0 Service Pack 1 French No change. Days of the week change from French to English. Month names change from lower-case to title-case. Day of the month format changes from “DDeme” to “DDe”. German Day of the month format changes from “DD.” to “DDter”. Days of the week change from German to English. Day of the month format changes from “DD” to “DDter”.

Mx4Facilities 7.0 Release Notes for Service Pack 4

  • Upload
    others

  • View
    12

  • Download
    0

Embed Size (px)

Citation preview

Mx4Facilities version 7.0 Service Pack 4 1

Mx4Facilities 7.0

Release Notes for Service Pack 4

This document describes the modifications and fixes made in Mx4Facilities version 7.0 Service Pack 4 as well as providing installation information.

Important:

As per recommended practice, all projects should be backed up prior to commencing the Service Pack installation.

Important:

All projects must be upgraded and recompiled after installing this Service Pack. Failure to do so will result in conflicting database size messages. To force an upgrade, edit the Citect.ini file and set [CTEDIT] UPGRADE=1. Ensure that the Incremental Compile menu option (in Project Editor→Tools→Options) is not checked, or set [CTEDIT] INCREMENTALCOMPILE=0. Customers should also do an Update Pages (in Graphics Builder→Tools→Update Pages) on any projects using CSV_Include templates.

Important: In v7.0 service pack 1, an attempt was made to translate all Project Editor Period field text strings for French and German installs into their localised form. These changes, with the exception of German day of the month, were reversed in Service Pack 2. The majority of French and German customers, who are not currently running Service Pack 1, do not need to reconfigure their projects. However, users upgrading from Service Pack 1 may need to update their projects to match the new drop down options. For more information see issues 36365.1 and 36365.2 on the following page, and Table 1 below.

Table 1 - French and German Period field changes in Service Pack 4

Upgrading from v7.0 release Upgrading from v7.0 Service Pack 1

French No change. Days of the week change from French to English.

Month names change from lower-case to title-case.

Day of the month format changes from “DDeme” to “DDe”.

German Day of the month format changes from “DD.” to “DDter”.

Days of the week change from German to English.

Day of the month format changes from “DD” to “DDter”.

Mx4Facilities version 7.0 Service Pack 4

2

Known Issues: This Service Pack contains the known issues described below.

Table 2 - Known Issues

Issue

Number

Issue Title

and Description

36365.1 Protocols are missing from the IO Devices form after installation of a v7 service pack

French and German machines may experience this issue if drivers have been installed after the original Mx4Facilities install. To resolve and reinstate protocols in the drop down list, reinstall their corresponding Driver Pack(s).

36365.2 Invalid time format compile error after upgrading from v7.0 Service Pack 1

French and German machines that have been upgraded to v7.0 Service Pack 1 and use the Period field in any Project Editor form (e.g. trend tags, reports, events) may experience Invalid time format compile errors after upgrading to Service Pack 4. To resolve, use the new drop down option(s) available in Service Pack 2 and above.

46103 Failed to load Database _PROJECT pop up error

If the Example project (not the CSV_Example project) has been recompiled prior to upgrading to Service Pack 2 (or higher), then a runtime error results when running up the Service Pack. The error concerns the "_PROJECT" database and is reported through a popup dialogue. Recompiling the Example project will resolve this issue.

44040 Digital tags return incorrect values when Scheduled IO devices are restarted

After the release of this service pack, an issue was discovered that could result in incorrect values being displayed on screen when Schedule IO devices are in use and a server is restarted. Customers affected by this issue are advised to contact Citect Support for a hotfix that corrects this issue.

Mx4Facilities version 7.0 Service Pack 4 3

Note:

If you already have hot fixes installed on version 7.0, you should review this document carefully to ensure that the hot fixes you have installed are included in this Service Pack. In the event of a discrepancy contact your regional support office for assistance.

Note:

For general information about service packs, see Knowledge Base article Q2181.

This service pack applies to three of the products shipped with Mx4Facilities version 7.0:

a) Mx4Facilities

b) Mx4Facilities Web Server

Separate service pack installers have been created for each of these products, allowing you to choose which products you wish to upgrade to Service Pack 4, depending on your requirements.

Mx4Facilities version 7.0 Service Pack 4

4

Table of Contents

Service Pack Installation ....................................................................................................................................... 5

Service Pack Uninstall ........................................................................................................................................... 6

Added Files - Mx4Facilities – SCADA ................................................................................................................... 9

Updated Files - Mx4Facilities – SCADA ................................................................................................................ 9

Added Files - Mx4Facilities – WebServer ............................................................................................................ 13

Issues Resolved in this Service Pack .................................................................................................................. 14

Mx4Facilities version 7.0 Service Pack 4 5

Service Pack Installation

Upgrading Mx4Facilities 7.0 to Service Pack 4

The procedure for installing Service Pack 4 for Mx4Facilities depends on whether you are an existing user of Mx4Facilities version 7.0 or a new user.

Existing Mx4Facilities version 7.0 Users

1. Run patch file “Mx4Facilities SCADA 7.0 Service Pack 4.msp”.

2. Open Citect Explorer, wait until upgrade has completed, and then close Explorer.

New Mx4Facilities 7.0 Users

1. Install Mx4Facilities 7.0.

2. Open Citect Explorer for the first time and then close.

3. Run patch file “Mx4Facilities SCADA 7.0 Service Pack 4.msp”.

4. Open Citect Explorer, wait until the upgrade has completed, and then close Explorer.

Upgrading Mx4Facilities 7.0 Web Server to Service Pack 4

Installing Service Pack 4 for Mx4Facilities Web Server requires that you install Service Pack 4 for Mx4Facilities as well otherwise the web client will not work correctly. You should perform this installation as per one of the above two Mx4Facilities user categories, then:

1. On your web server(s) (machines running IIS), run patch file “Mx4Facilities WebServer 7.0 Service Pack 4.msp”. This will install an updated CAB file: CitectSCADAWebClient_7_0_4_64.cab, which will become available to all your web clients.

2. On all your web client machines, take the following actions:

a. Open ARP (Add or Remove Programs) by choosing Start→Settings→Control Panel→Add or Remove Programs.

b. Locate the entry „Citect Web Client 7.0‟ and click „Remove‟. If this item is not listed in ARP, you should delete the %windir%\system32\citect\webclient\700 directory. (NB: %windir% indicates the default windows installation directory.)

c. In the Mx4Facilities Web Deployment Configuration (in Internet Explorer):

i. Select „CitectSCADAWebClient_7_0_4_64.cab‟ from the Client Control drop down menu.

ii. Save the deployment by selecting the action to save deployment.

Mx4Facilities version 7.0 Service Pack 4

6

Service Pack Uninstall

The procedure for removing (rolling back) a 7.0 service pack depends on which Operating System you are running.

All Windows versions

Before following one of the procedures below, backup your citect.ini file to a temporary location. You can use the Computer Setup Editor (via Tools menu) to determine the location of this file. This step is required as the uninstall procedure may revert some settings back to their default. Restore the file to its original location upon completion of the uninstall procedure.

Microsoft Windows XP SP2 or Microsoft Windows Server 2003

For each product you wish to uninstall:

1. Backup your citect.ini file (default path c:\windows\citect.ini), as the uninstall procedure may revert some settings back to their default.

2. Open ARP (Add or Remove Programs) by choosing Start→Settings→Control Panel→Add or Remove Programs.

3. Make sure the „Show Updates‟ checkbox is ticked as follows:

Figure 1: Service Pack visible as an update

4. You should see the service pack listed as a sub-entry under the parent product.

5. Select this sub-item and click „Remove‟.

6. Once the removal is complete, highlight the parent product‟s entry (in this case „Mx4Facilities 7.0‟) and click the underlined link „Click here for support information‟. The following popup will appear:

Mx4Facilities version 7.0 Service Pack 4 7

Figure 2: Support Info dialog in Windows XP SP2 and Windows 2003

7. Click „Repair‟.

8. After the repair process has finished, you should have a working version of the parent product without the service pack installed.

Microsoft Windows XP SP1 or earlier or Microsoft Windows 2000

The „Show Updates‟ feature of ARP (as shown in Figure 1) is not available under these operating systems, so an uninstall of the service pack must be performed manually as follows:

1. Open a command prompt e.g. Start→Run→”cmd”→[enter].

2. For each product you wish to uninstall:

a. Copy the uninstall command from Table 3 and paste into the command prompt, then press <enter>.

Table 3 - Service Pack 4 manual uninstall commands

Product Uninstall Command

Mx4Facilities SCADA 7.0 Service Pack 4 msiexec /uninstall {A3FC07CA-5F21-4A73-8E0A-9099188C2800} /package {5EEE5297-A932-49F2-AFA7-ED05C2ACB24F} /qb

Mx4Facilities WebServer 7.0 Service Pack 4 msiexec /uninstall {E0095541-8800-47BE-A861-755DFA86147F} /package {B7A02776-729C-4594-AF91-EF18F349E3BE} /qb

b. Open ARP (Add/Remove Programs) by choosing Start→Settings→Control Panel→Add/Remove Programs (or press F5 to refresh if already open).

c. You should now see the product name has returned to the original pre-service pack name.

Mx4Facilities version 7.0 Service Pack 4

8

d. Highlight the parent product‟s entry (in Figure 3, this is „Mx4Facilities 7.0‟) and click the underlined link „Click here for support information‟. The following popup will appear:

Figure 3: Support Info dialog in Windows XP SP1 and Windows 2000

e. Click „Repair‟.

f. After the repair process has finished, you should have a working version of the parent product without the service pack installed.

Mx4Facilities version 7.0 Service Pack 4 9

Added Files - Mx4Facilities – SCADA

Listed below are the files added to the Mx4Facilities SCADA product after installing 7.0 Service Pack 4.

Install Path and File Added Notes

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\HELP.DBF French install only

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\HELP.NDX French install only

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\HELP1.DBF German install only

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\HELP1.NDX German install only

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\STREND.DBF German install only

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\STREND.DBF French install only

Updated Files - Mx4Facilities – SCADA

Listed below are the files updated in the Mx4Facilities SCADA product after installing 7.0 Service Pack 4.

Install Path and File Updated Notes

Citect.Platform.DatasourceDevelopmentKit.BaseDatasource.dll

Citect.Platform.Logging.TraceListeners.dll

Citect.Platform.Net.Common.dll

Citect.Platform.Net.Session.Null.dll

Citect.Platform.Net.Session.Tcpip.dll

Citect.Platform.Net.Session.dll

Citect.Platform.Net.SessionManager.dll

Citect.Platform.PSI.BaseConnector.dll

Citect.Platform.PSI.Connector.dll

Citect.Platform.PSI.Interfaces.dll

Citect.Platform.PSI.PSIClient.dll

_CommonAppDataFolder_\MX4\Facilities\Data\CSV_InstantTrend.ctz

_CommonAppDataFolder_\MX4\Facilities\Data\Facilities.ctz

_CommonAppDataFolder_\MX4\Facilities\User\CSV_Include\!CSV_AlarmConfig.ctF

_CommonAppDataFolder_\MX4\Facilities\User\CSV_Include\!CSV_AlarmConfig.ctg

_CommonAppDataFolder_\MX4\Facilities\User\CSV_Include\!CSV_AlarmFilterAdv.ctF

_CommonAppDataFolder_\MX4\Facilities\User\CSV_Include\!CSV_AlarmFilterAdv.ctg

_CommonAppDataFolder_\MX4\Facilities\User\CSV_Include\!CSV_AlarmInfo.ctF

_CommonAppDataFolder_\MX4\Facilities\User\CSV_Include\!CSV_AlarmInfo.ctg

_CommonAppDataFolder_\MX4\Facilities\User\CSV_Include\!CSV_MenuConfig.ctF

_CommonAppDataFolder_\MX4\Facilities\User\CSV_Include\!CSV_MenuConfig.ctg

_CommonAppDataFolder_\MX4\Facilities\User\CSV_Include\!CSV_MenuEdit.ctF

_CommonAppDataFolder_\MX4\Facilities\User\CSV_Include\!CSV_MenuEdit.ctg

_CommonAppDataFolder_\MX4\Facilities\User\CSV_Include\!CSV_RefreshingDataMessage.ctF

_CommonAppDataFolder_\MX4\Facilities\User\CSV_Include\!CSV_RefreshingDataMessage.ctg

Mx4Facilities version 7.0 Service Pack 4

10

Install Path and File Updated Notes

_CommonAppDataFolder_\MX4\Facilities\User\CSV_Include\!CSV_TrendConfig.ctF

_CommonAppDataFolder_\MX4\Facilities\User\CSV_Include\!CSV_TrendConfig.ctg

_CommonAppDataFolder_\MX4\Facilities\User\CSV_Include\!CSV_TrendPopup.ctF

_CommonAppDataFolder_\MX4\Facilities\User\CSV_Include\!CSV_TrendPopup.ctg

_CommonAppDataFolder_\MX4\Facilities\User\CSV_Include\CSV_AdminTools.ctF

_CommonAppDataFolder_\MX4\Facilities\User\CSV_Include\CSV_AdminTools.ctg

_CommonAppDataFolder_\MX4\Facilities\User\CSV_Include\CSV_Alarm.ctF

_CommonAppDataFolder_\MX4\Facilities\User\CSV_Include\CSV_Alarm.ctg

_CommonAppDataFolder_\MX4\Facilities\User\CSV_Include\CSV_AlarmDisabled.ctF

_CommonAppDataFolder_\MX4\Facilities\User\CSV_Include\CSV_AlarmDisabled.ctg

_CommonAppDataFolder_\MX4\Facilities\User\CSV_Include\CSV_AlarmHardware.ctF

_CommonAppDataFolder_\MX4\Facilities\User\CSV_Include\CSV_AlarmHardware.ctg

_CommonAppDataFolder_\MX4\Facilities\User\CSV_Include\CSV_AlarmSummary.ctF

_CommonAppDataFolder_\MX4\Facilities\User\CSV_Include\CSV_AlarmSummary.ctg

_CommonAppDataFolder_\MX4\Facilities\User\CSV_Include\CSV_Alarms.ci

_CommonAppDataFolder_\MX4\Facilities\User\CSV_Include\CSV_Analyst.ctF

_CommonAppDataFolder_\MX4\Facilities\User\CSV_Include\CSV_Analyst.ctg

_CommonAppDataFolder_\MX4\Facilities\User\CSV_Include\CSV_File.ctF

_CommonAppDataFolder_\MX4\Facilities\User\CSV_Include\CSV_File.ctg

_CommonAppDataFolder_\MX4\Facilities\User\CSV_Include\CSV_ListBox.ci

_CommonAppDataFolder_\MX4\Facilities\User\CSV_Include\CSV_Math.ci

_CommonAppDataFolder_\MX4\Facilities\User\CSV_Include\CSV_MultiMonitors.ci

_CommonAppDataFolder_\MX4\Facilities\User\CSV_Include\CSV_Start.ctF

_CommonAppDataFolder_\MX4\Facilities\User\CSV_Include\CSV_Start.ctg

_CommonAppDataFolder_\MX4\Facilities\User\CSV_Include\CSV_Trend.ctF

_CommonAppDataFolder_\MX4\Facilities\User\CSV_Include\CSV_Trend.ctg

_CommonAppDataFolder_\MX4\Facilities\User\CSV_Include\CSV_TrendDouble.ctF

_CommonAppDataFolder_\MX4\Facilities\User\CSV_Include\CSV_TrendDouble.ctg

_CommonAppDataFolder_\MX4\Facilities\User\CSV_Include\PGLANG.NDX

_CommonAppDataFolder_\MX4\Facilities\User\CSV_Include\activex.DBF

_CommonAppDataFolder_\MX4\Facilities\User\CSV_Include\activex.NDX

_CommonAppDataFolder_\MX4\Facilities\User\CSV_Include\changes.DBF

_CommonAppDataFolder_\MX4\Facilities\User\CSV_Include\pages.DBF

_CommonAppDataFolder_\MX4\Facilities\User\CSV_Include\pgbutton.DBF

_CommonAppDataFolder_\MX4\Facilities\User\CSV_Include\pgkey.DBF

_CommonAppDataFolder_\MX4\Facilities\User\CSV_Include\pgtouch.DBF

_CommonAppDataFolder_\MX4\Facilities\User\Include\LABELS.DBF

Mx4Facilities version 7.0 Service Pack 4 11

Install Path and File Updated Notes

_CommonAppDataFolder_\MX4\Facilities\User\Include\citect.ci

_CommonAppDataFolder_\MX4\Facilities\User\Include\info.ci

_CommonAppDataFolder_\MX4\Facilities\User\Include\tag.ci

_CommonAppDataFolder_\MX4\Facilities\User\Include\zoom.ci

_CommonAppDataFolder_\MX4\Facilities\User\System\HARDALM.DBF

_CommonAppDataFolder_\MX4\Facilities\User\System\HARDALM.txt

_CommonFilesFolder_\Citect\Analyst.dll

_CommonFilesFolder_\Citect\CTODBC32.dll

_CommonFilesFolder_\Citect\CiASCDrv.dll

_CommonFilesFolder_\Citect\CiDBFDrv.dll

_CommonFilesFolder_\Citect\CiDebugHelp.dll

_CommonFilesFolder_\Citect\CiMitsubishiTagBrowse.dll

_CommonFilesFolder_\Citect\CiOPCDrv.dll

_CommonFilesFolder_\Citect\CiOPCTagBrowse.dll

_CommonFilesFolder_\Citect\CiSchneiderDrv.dll

_CommonFilesFolder_\Citect\CiSchneiderTagBrowse.dll

_CommonFilesFolder_\Citect\CiTagBrowse.dll

_CommonFilesFolder_\Citect\CiTrans.dll

_CommonFilesFolder_\Citect\CiTrendArchiveFileOffset.dll

_CommonFilesFolder_\Citect\CiTrendArchiveFileOffset8Byte.dll

_CommonFilesFolder_\Citect\CiTrendArchiveInterpolator.dll

_CommonFilesFolder_\Citect\CiTrendManager.dll

_CommonFilesFolder_\Citect\Cimitsubishidrv.dll

_CommonFilesFolder_\Citect\CtApi.dll

_CommonFilesFolder_\Citect\CtEng32.dll

_CommonFilesFolder_\Citect\CtRes32.DLL

_CommonFilesFolder_\Citect\CtUtil32.dll

_CommonFilesFolder_\Citect\Ct_ipc.dll

_CommonFilesFolder_\Citect\DatabaseExchange.ocx

_CommonFilesFolder_\Citect\ciTextBox.ocx

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\AlarmServer.dll

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\CSAPSI.dll

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\CTOPC32.exe

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\CTTAGDB.dll

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\CiDebugHelp.dll

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\CiExceptionMailer.dll English install only

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\Citect.CitectSCADA.RuntimeConfiguration.dll

Mx4Facilities version 7.0 Service Pack 4

12

Install Path and File Updated Notes

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\Citect.frm French install only

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\Citect32.exe

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\Citect32.exe.config

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\Client.dll

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\ComputerSetupEditor.exe

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\CtApi.dll

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\CtBack32.exe

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\CtCicode.exe

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\CtCmp32.exe

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\CtDraw32.exe

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\CtEdit32.exe

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\CtEng32.dll

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\CtExplor.exe

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\CtIndex.dll

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\CtKC.dll

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\CtMenu32.dll

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\CtOpc32.dll

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\CtProj.dll

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\CtRegion.dll

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\CtRender.dll

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\CtRes32.DLL English install only

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\CtSetup.exe

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\CtUtil.dll

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\CtUtil32.dll

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\CtVersion.dll

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\CtVersion.xml

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\Ct_ipc.dll

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\Ctcomdlg.dll

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\Ctg32.dll

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\Ctres32.dll German install only

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\Ctres32.dll French install only

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\Diskdrv.dll

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\Dlg32.dll

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\ERRSTR.DBF

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\ERRSTR.NDX

Mx4Facilities version 7.0 Service Pack 4 13

Install Path and File Updated Notes

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\ExprWiz.exe

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\FUNC0.DBF

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\FtpSvr.exe

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\IOConnectors.dll

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\IoServer.dll

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\PluginHost.dll

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\PolledDataSource.dll

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\ReIndex.exe

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\ReportServer.dll

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\Rscite32.exe

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\RuntimeConfiguration.dll

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\RuntimeManager.exe

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\SKEYS.DBF

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\Techdo32.dll

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\Tools32.dll

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\TrendServer.dll

_ProgramFilesFolder_\MX4\Facilities 7.0\Bin\Unity Fastlinx User Documentation.pdf

Added Files - Mx4Facilities – WebServer

Listed below are the files added to the Mx4Facilities WebServer product after installing 7.0 Service Pack 4.

Install Path and File Added Notes

_ProgramFilesFolder_\MX4\Facilities\WebServer\client\700\CitectSCADAWebClient_7_0_4_64.cab

Mx4Facilities version 7.0 Service Pack 4

14

Issues Resolved in this Service Pack

This Service Pack resolves the issues described below. If you have any hotfixes installed on your current version, please check if they are included in this service pack. If the hotfix is not included in the list below, or you have any concerns regarding the issues covered, please contact Support before installing this Service Pack.

Issue Number

Issue Title and Description

34337 Multiple alarm state changes within the same second may lead missed alarm events

If an alarmed field point changes state multiple times within the same second, not all of the corresponding alarm events may be generated. This can lead to utilities such as Process Analyst to display an incorrect alarm state.

36435 Some keyboard shortcut keys do not trigger

The following keyboard shortcuts do not trigger as expected. - Keyboard shortcuts that contain a space in the name. - Keyboard shortcuts that contain the "Shift" key. This issue has been resolved.

36944 Both TagInfo and TagInfoEx functions are unable to get the network number of the I/O device

Both TagInfo and TagInfoEx functions were unable to get the network number of the I/O device as defined by the Number field of the I/O Devices form in the Project Editor. This problem has been solved by adding the new type of information called Network Number (nType = 21).

37239 WinNewAt() Window Resize Inconsistencies - Mode 8 (no user resize)

It was possible to resize a window with mode 8 set (no user resize) using a double click on the title bar when the cicode resize only changed the width or height. This has been fixed.

37509 Failover sequence does not follow a "shuffled" priority order.

When a system is configured with "shuffled" priority for redundant devices (ie devices on same IOServer do not have sequential priority), the order of priority is not followed in fail over. This has now been resolved.

40031 Compilation error "Close bracket expected" rather than warning "Tag not defined"

This error is produced when "(cluster.undefined_tag)" syntax is used in a Citect project, or "cluster.undefined_tag" is used in fields such as Fill Level (which indirectly generate the required brackets). This problem has now been resolved.

41042 Incorrect location of a popup menu when running in multimonitor mode

When running in multimonitor mode, the DspPopupMenu function displays a popup menu with an incorrect offset along both X and Y axes. This problem has been fixed.

41221 IODeviceInfo() failed depending on position in cicode

An issue was found in the compiler handling conversion of a numeric argument to a string argument in special cases. This issue has been fixed.

42016 With CitectSCADA ODBC, tag name/value query fails if any tags fetched are #COM

Changeover to PSI in 7.0 caused an error to be returned from CitectSCADA ODBC Server unless the tag quality is good. This has been fixed by reverting to previous behaviour of ignoring bad quality tags and returning zero instead.

Mx4Facilities version 7.0 Service Pack 4 15

Issue Number

Issue Title and Description

42457 Second alarm property write fails

The ctTagWrite (hCTAPI, sTAG, sValue) function changed behaviour between v7.0 and v7.0 SP2 when writing the same value to any alarm-tag.Disabled, such that a second write would fail. This has now been fixed.

42508 Graphics objects are distorted during runtime when pasted on top of a dynamic object

Ellipses, arcs, and pies may be rendered incorrectly during runtime if they are dynamic or if they are pasted on top of a dynamic object. This problem has been resolved.

42697 SubscriptionGetAttribute() Cicode function does not provide cluster context, even when subscribed.

This bug was apparently introduced by the Tag Point count (licensing) fix for single cluster projects, bug 36958. That fix removes the Cluster name from the Subscription details when operating in a single Cluster environment. The Side effect of that leads to this bug. This problem has now been fixed.

43311 Alarm index file corruption caused by removing and adding alarms

Alarm index file corruption can be caused by adding and removing alarms from the project and then starting Citect. The problem is related to the deleted alarm ids being re-used by the newly created alarms.

43537 Citect OPC server does not update the client when a STRING write is successful

Performing a write to the Citect OPC server would update the internal cache but not send a write notification on success, potentially leaving the OPC client with stale data. This has now be fixed.

43930 Page navigation from foreground cicode results in a crash

Doing page navigation (e.g. PageNext(), PagePrev() etc.) from inside foreground cicode tasks (e.g. 'while page shown' events) results in a crash. Attempts to do this will now result in a hardware alarm saying: "Can't swap pages from foreground" Customers experiencing this hardware alarm will need to reengineer their projects so that page navigation functions are called from background tasks, keyboard events etc.

44090 Time stamped digital alarms with tag values in the description can lead to shutdown crashes and missing alarm summaries

A shutdown crash may occur when exiting citect while repeatedly triggering time stamped digital alarms with tag values in the description. In additon the same alarms may not generate expected alarm summary events. These problems have now been resolved.

44426 "Unknown alarm update type" message is shown in the kernel window

In the alarm server redundancy configuration, when either primary or standby server starts up, the process of synchronising the alarms between servers can result in the "Unknown alarm update type" message displayed in the kernel window. This problem has been fixed.

44720 Acknowledged ON alarms need to be reacknowledeged after a restart

The IOServer code has been changed so that alarm values have an initial quality of GENERIC_UPDATE_INPROGRESS rather than GENERIC_NOERROR. This means that all tag values will not return good quality data by default.

Mx4Facilities version 7.0 Service Pack 4

16

Issue Number

Issue Title and Description

44853 Manipulating alarms while using [Alarm]DisplayDisable=1 produces unexpected results.

When using [Alarm]DisplayDisable=1 the following unexpected behaviour can be observed. - All other alarms besides the "Time Stamped Digital" and "Time Stamped Analog" alarms cause an extra alarm summary event if an alarm is disabled and then re-enabled. - Disabling and triggering a "Time Stamped", "Time Stamped Digital" or "Time Stamped Analog" alarm causes the alarms to "disappear"; meaning that the alarm neither exists on the alarm page or the disabled alarm page. A further untriggering of the alarms then makes the "Time Stamped" alarm re-appear. This has now been resolved.

44892 InfoForm() function fixed after extending TagInfo() function

A V7 specific bug is fixed which returns an empty string when called with the "ADDR" parrameter. It is fixed by restoring the V6 code and extending the TagInfo() function which is the backend for InfoForm().

44968 The Web Client ActiveX control fails to show the vertical scroll bar

On the web client, an activex control would not display its vertical scroll bars. This has now been corrected.

45086 Could not search for Trends Tag using v7.0 process analyst/Citect response slow

When the customer tries to call the "search" from the Process Analyst, the search would hang for about 1 minute and then an error message would pop up saying "CTAPI connection is offline". This was not reproduced exactly in-house; However, with the customer's project (attached to the URL), the search would take approx 7 minutes to return the trend tag list, so this *may* be related. When the problem was manifesting, the kernel window would respond very, very slowly. The problem occured for the customer and in-house for single process configuration. The problem was not noticable when using a multi-process configuation. Fix Details =========== Citect changed to process more kernel tasks when the windows system is in an idle state. Extra logging was added to enable us to detect if a connection was terminated due to slow response; "IPCReadMemory: Disconnection due to late or missing heartbeat".

Mx4Facilities version 7.0 Service Pack 4 17

Issue Number

Issue Title and Description

45397 Dump Kernel Modes incorrect for DumpKernel Cicode Function from v 7.0 onwards

The Dump Kernel Modes were incorrect: ... 0x0010 - Dump the table 0x0020 - Dump the queue 0x0040 - Dumps NOTHING and have been corrected to match the documentation: ... 0x0020 - Dump the table 0x0040 - Dump the queue ...

45639 "Product License Mismatch" on a webclient machine with a Historian license plugged in.

When users try to run the CitectSCADA web client on the same machine where the Citect Historian product is installed with its license dongle plugged in, they immediately receive the "Product License Mismatch" error, and the web client shuts down. This problem has been resolved.

45709 WinFile/WinPrint cicode functions don't capture the image of Process Analyst

When the Process Analyst control is present on the page and either WinFile or WinPrint cicode functions are called, the image of the control's client area is not saved to the file or printed. This problem was fixed.

45864 MsgBrdCst has a limit of 32767 messages

MsgBrdCst has a limit of only 32767 messages while similar functions like MsgRead and MsgWrite can handle values of more than 32767. This problem has been resolved.

46205 Swapping clusters results in a leak

Calling ClusterActivate() and ClusterDeactivate() may result in unbounded growth of the Lan.Read.Pool buffers. This has been fixed.

46420 Super Genie associations do not show up on popup window

Resolved quality of Alarm property tags not being set correctly and causing Cicode function Ass() to fail.

46497 Crash when performing a string tag write with [pubsub]LogLevel >= 2

This has now been resolved.

46548 Pulse() doesn't work, and results a hardware alarm, on a pop-up when using substitution with data type

Pulse() doesn't work, and results a hardware alarm, on a pop-up when using substitution with data type. For example, Pulse(?1?) works OK, but Pulse(?Digital 1?) doesn't work and raises "Invalid Argument Passed" h/w alarm. Also; Pulse(?1?) doesn't work when ?1? isn't used anywhere else other than Pulse(?1?). The compiler has been changed so that it ignores 'digital' and other types in Pulse(?Digital 1?) The labels.dbf has been changed so that Pulse(?1?) works when ?1? is not used elsewhere other than Pulse(?1?)

46690 Crash during startup when accessing pages rdb using CSV Include or custom

Due to incorrect reference counting while accessing of pages RDBs in overlapped manner (loading pages RDB more than once in non-sequential manner) from CSV Include or other CiCode could cause exception accessing deleted memory. This isssue was rectified by correcting reference counting. Additional diagnostics of RDBs was added with [Debug] RdbTrace INI paramenter.

Mx4Facilities version 7.0 Service Pack 4

18

Issue Number

Issue Title and Description

46877 The display client won't reconnect to servers if the first attempt on startup was unsuccessful.

In multi-process mode, the display client will never attempt to re-connect to a server process if the initial attempt was unsuccessful. This can happen when a server process experiences a fatal startup error. As soon as the problem is rectified and the server starts, the display client remains disconnected and needs to be restarted. This problem has been fixed.

47007 Vijeo Citect crashes importing tags from if using Unity Speedlink Dynamic

Customers importing tags from an external tag database (.stu file) using Unity Speedlink Dynamic would experience a crash. This has now been fixed.

47038 TagSubscribe() callback function being called continously on out of range

The TagSubscribe() callback function was being called continously when the tag value is out of range of Variable tag Raw zero or Raw Full scale value. This situation could only occur with a system where the Raw tag values are not set to match with the raw data coming in from the IO device.

47044 Text are distorted during runtime when pasted on top of a dynamic object

Text may be rendered incorrectly during runtime if they are dynamic or if they are pasted on top of a dynamic object. This problem has been resolved.

47070 DNPR Clients show blank screen when switching active with Usurp

Resolved problem when running redundant devices and using the RequestUnitActive.Standby control tag to change active IOdevices the screen will become blank on the standby when a new page is selected. The "DataSourceStatus" messages were sent to RemoteTagResolver before it was created. The RemoteTagResolver was therefore not be aware of all the datasource when resolving the tags. The fix has been implemented to messages send when the connector received the first request from the client (The RemoteTagResolver object will be created and initialised by then).

48015 Changes to underlying cicode caused CSV_InstantTrend() to run slowly.

Changes to underlying cicode caused CSV_InstantTrend() to run slowly. This has now been rectified.

48127 Citect communications can be lost/dropped/closed on a mal-functioning/overloaded/unreliable network

Citect communications can be lost/dropped/closed on a mal- functioning/overloaded/unreliable network. Citect code is designed to be network fault tolerant and so it will close and attempt to reopen networking connections. Closing at the wrong level has only been *proven* to cause a Citect communications failure in a few extreme cases in the lab (the symptoms were only visible in wireshark traces). This has not been *proven* to be a problem in the field, but a few customers have possibly had issues related to this bug. Resolving their network hardware issues seems to have resolved those cases. Logging has been added to record information about opening/dropping/closing Citect network connections and many networking error conditions. This will help us investigate networking issues that might occur in the future. The logging is enabled by a new Citect.ini parameter. [lan] ConnectionLogging = 1 (off by default)

48143 Client alarms lists stop updating after a period of time.

Alarm lists on clients associated with multiple Alarm clusters may stop updating after a period of time. This issue has been rectified.

Mx4Facilities version 7.0 Service Pack 4 19

Issue Number

Issue Title and Description

48185 Switching pages causes blank alarm page or banner

Sometimes when switching between pages or other operations, the alarm page or banner will go blank. This has now been fixed.

48195 Increase max value of [Alarm]SummaryTimeout

The maximum value of [Alarm]SummaryTimeout has been increased from 20000 to 35791394.

48214 When you set the page resolution in graphics builder there is a limitation where the maximum value you can select is 4096.

Previously, the maximum page resolution width and height was 4096. The page resolution in graphics builder can now be set up to a width of 16384 or a height of 16384 in any combination so long as the maximum area does not exceed 4096 x 4096.

48652 Digital tags on scheduled devices show incorrect values when Citect is restarted

An issue with digital blocking causes cached digital values on remote scheduled devices to return incorrect values on if Citect is restarted. This has been resolved.

49702 Alarm Property Read Failure using ctapi

The default quality of alarm property values was "pending". When alarm properties were read an error "423" resulted. The default quality of alarm property values are now "good" rather than "pending".

Mx4Facilities version 7.0 Service Pack 4

20

Originally resolved in Service Pack 3

These fixes are included in Service Pack 4.

Issue Number

Issue Title and Description

32778 Standby IO Server displays an incorrect dialogue if modems are only configured on primary

When a project is configured such that it has modems on the primary IO Server but no COMX board on the standby IO Server, the Standby will incorrectly advise against starting and provide the option to shutdown. The error message "Failed to find a COMX board defined on this server. A COMX board definition is required for communication with remote I/O Devices" is displayed. This issue has now been rectified.

33183 CiText.Textbox control‟s Print Dialog fails to cancel printing when the Cancel Button is chosen.

The Print Dialog produced by the CiText.Textbox control would ignore the use of the “Cancel” button and continue printing the contents of the textbox, regardless. This has now been corrected.

34612 Trend name not logged when using [Trend]TrendDebug

The trend name is not reported when [Trend]TrendDebug is enabled. Specifically in cicode functions "TrnSetTable" and "TrnEventSetTableMS". This has now been resolved.

35763 Crash when importing tags from Matrikon OPC Server for Mark V and Mark VI

This crash was possible when importing tags from OPC Servers that only supported v2 or later of the OPC specification. This issue has now been resolved.

37410 Pulse() function broken in v7, it was possible for the tag not to be turned off

From v7, it was possible to leave a genie window having used the Pulse function, and for the 0 => 1 => 0 sequence not to occur. i.e. the tag was set but not reset. This would happen if the window was left before the 2 second period had expired. This bug has been fixed. If many tags are being pulses at the same time, then the maximum number of cicode tasks allowed may need to be increased, see the help for [code]Threads . Pulse requests on tags which do not exist will log a message to the syslog.dat .

37425 CSV_Math_Rounddown() and CSV_Math_Truncate() produce incorrect results for some input values

CSV_Math_Rounddown() and CSV_Math_Truncate() for some input values produced incorrect results due to rounding off at inappropriate points in the Cicode. This has been rectified.

38793 Pasting text from a closed Rich Text windows crashes citect

Pasting text from a closed Rich Text windows no longer crashes citect

38914 "Object reference not set to an instance" error message is logged in Tracelog.dat when writing to an array

If an array is used within cicode just for writing data into it then we do not subscribe for it. This is an optimization done in the compiler. However, internally this case was not handled correctly when trying to write to the local cache. This has now been fixed.

38999 Hardware Alarms occur when using Cicode functions to read a text file that does not have a closing CRLF sequence.

Using the FileEOF() and/or FileReadLn() Cicode functions to read a text file that does not have a closing CRLF sequence will log hardware alarms if the end of file is reached before encountering a CRLF sequence. The problem was actually with the FileReadLn() Cicode function which is used by FileEOF(). This has now be resolved.

39129 Dynamically setting the Cluster argument for the AlarmDsp function does not work

The logic to handle dynamic cluster changes in AlarmDsp only handled transitions from single-to-multi cluster and multi-to-single cluster but not single-to-single. This resulted in alarms not being correctly filtered on screen. This has now been fixed.

Mx4Facilities version 7.0 Service Pack 4 21

Issue Number

Issue Title and Description

40069 Changing Page-Scan time doesn‟t effect the Tag subscription Poll-Times.

When a page is first opened, all of the Tags used by the page are subscribed using the current Page-Scan time. These subscriptions live for the duration of the page so when the Page-Scan time is changed, the existing subscriptions are not effected. This has now been changed such that when you use the CiCode PageSetInt(-2,...) command, it now re-subscribes all of those Tags using the new Page-Scan time.

40247 Crash occurs when sending an ctapi login message with the password field longer than 256 characters.

Testing ran a series of tests with a large number of malformed CtAPI messages to test V7.0 security. Three malformed messages provoked failures. The code that handles CtAPI messages was changed to deal with the malformed messages and prevent any failures or warning conditions.

40706 Implicit type conversion in cicode not working in V7.0

Added conversions to string type and trigger an error is the conversion fails

41132 Cannot write to the delay property of digital alarms at run time

When the user tries to modify the delay property of a digital alarm during runtime they receive a "PLC Server Write location is protected" error. This has now been resolved.

41300 When using scheduled IO, only one tag from the device is updated while all other tags keep showing #WAIT

In Citect SCADA V7, the driver DataBase() function for remote devices can be called before InitChannel() which results in several problems – one of which is blockMax is then zero which causes the reported problem. This problem has been resolved.

41353 CSV_AlarmSummary page does not work if any cluster is disconnected in Multicluster environment

This was caused by an internal code refactor, and has now been fixed.

41615 On page exit command Cicode does not execute as expected

Cicode that is configured to run when a page exits via the "on page exit command" field may not be executed as expected. This issue has now been resolved.

42008 Accumulator resets when primary is taken down

When the Accumulator subsystem fails-over to the standby IOServer, its initial attempts to read the Standby Tags often fail. These failures were not being dealt with correctly. This has now been corrected.

42051 PSI is slow to switch over from standby to primary device

The PSI connector was not proactively sending datasource notification messages when a new session was connected. Thus, changeover only occurred when the next resolve period expired, and differed greatly from one client to the next. This has been fixed by forcing a re-resolve when a new, higher priority datasource comes online.

42273 Caching of data for scheduled devices does not work correctly if the citect application directory path contains a full-stop character.

This problem has been fixed in 7.0 SP3

42306 Webclient does not display the configured startup page

Sometimes when the webclient is started it does not display the configured start up page. This issue has been resolved.

42493 Bulk writes via the OPC Asynchronous write methods can lead to a crash.

The OPC server interface has two asynchronous "Write" methods. We failed to copy the incoming data into memory that we controlled the lifetime of. This has now been corrected.

Mx4Facilities version 7.0 Service Pack 4

22

Issue Number

Issue Title and Description

42572 Systems with multiple IOServers and many units experience high CPU usage

In systems with many units spread across multiple IOServers, and where there are tags in a cluster that are not defined on all IOServers, the IOServer processes may display unusually high CPU usage. This was caused by those servers trying to service tags not defined on that server, resulting in unnecessary checks to find out if a tag exists or not. This has now been fixed.

42753 Service pack installers change customised citect.ini settings back to default

Customers installing v7.00SP1 found that their customised citect.ini settings were being reset to default. Now the installer will only add an ini setting if it is not already set, and will not modify any existing parameters except [CtEdit]Upgrade, which it sets to 1.

42886 Local array variable updates are delayed by one code slice resulting in invalid values when the array is subsequently read.

To improve performance, the system uses a local cache to store variable/tag values while executing a code slice. The local cache was not being updated for local array variables. If the code being executed within the given code slice involved a read from the local array variable the result was a bad value(the read is performed on the local cache which contains an old value).

43047 Changing system time to time in the past results in stale values

Changes in system time were not being notified to server processes, resulting in stale values being display and used for alarms, trends etc. This has now been fixed.

43086

Simultaneous writes to different units on the same port and same addresses fails

When multiple units are assigned to the same channel (as DISK DRIVE units with the same protocol are). In this case, there is a possibility that concurrent writes to these units with the same tag address and same value will result in some of the writes not being performed. This has now been fixed.

43088 Various OPC Server crashes related to abnormally disconnected clients.

Four problems were found and fixed: 1. When clients disconnected abnormally, the cleanup procedures could result in a crash. 2. Zombied Group threads were continually trying to send update notifications to the clients that had abnormally disconnected. 3. Cached ctAPI protocol objects were improperly being used after they had been freed. 4. Memory containing Group objects were being deleted twice, in certain circumstances.

43149 The Facilities project is left in an uncompiled state after applying Service Pack 2.

When a user applies Service Pack 2 to CitectFacilities v7.00 the Facilities project is left in an uncompiled state. This issue has been resolved in Service Pack 3.

43156 CitectSCADA runtime may crash on shutdown if it has been processing timestamped digital alarms.

While using timestamped digital alarms, users may find that the CitectSCADA runtime may crash during shut down. This problem has now been resolved

43216 Display Clients will not switch to Standby Server if licence is removed from Primary Server

The Sentinel licensing routines display Dialog boxes which are run on the main thread of the various servers, thus they block (stall) waiting for a user to dismiss them. The [Debug]SysErrDsp CITECT.INI setting now also gates the display of the various Dialog boxes produced by the Sentinel licensing routines. When set to zero, [Debug]SysErrDsp prevents the display of these Dialog boxes.

43228 [Code]WriteLocal=0 results in flickering values on screen

An inconsistency in the way caches were updated across the IOServer may result in flickering values on screen. This has now been corrected, so that all caches in the IOServer behave according to the [Code]WriteLocal ini parameter.

Mx4Facilities version 7.0 Service Pack 4 23

Issue Number

Issue Title and Description

43245 When all connections lost on multiple NICs, the client may show stale data instead of #COM.

When using network redundancy via multiple Network cards, complete network failure on all cards may result in a client displaying stale data instead of correctly flagging the tags as Bad Quality and forcing the display of #COM. This issue has now been resolved.

43300 Un-deprecate Cicode functions AssInfo, AssScaleStr, TagScaleStr

Cicode functions AssInfo, AssScaleStr, TagScaleStr were deprecated in v7.00, but have now been un-deprecated.

43427 Reports will not run when no output device has been specified

Reportserver will not run (execute reports) when an Output device has not been specified in the reports form. This was introduced when Bug 42531 was fixed in Service Pack 1. This has now been fixed.

44429 Client switchover delay when active io server is shutdown

When the currently active io server is shutdown, switchover to a lower priority redundant server can be delayed for 10 seconds or more on client processes. Clients may exhibit #COM or become unresponsive during this time. This problem has now been resolved.

45098 Writing to an element of a byte array may cause the IOServer to stop

When issuing a tag write to a tag containing an array of bytes, there is a chance that the write may result in the IOServer process stopping. This has now been rectified.

45867 Computer Setup Wizard's startup page does not default to "<Default>"

When a user tries to run the built-in example project using the "<Default>" start page, the error message "Page !CSV_Splash has been compiled against an incompatible version of the user library functions. CitectSCADA needs to be restarted. Restart CitectSCADA now?" is displayed. This issue has been fixed.

46088 Writing to an invalid element of a byte array is not prevented

When issuing a tag write to a tag containing an array of bytes, there was no protection to ensure the element index was valid and inside the defined array. This has now been rectified.

Mx4Facilities version 7.0 Service Pack 4

24

Originally resolved in Service Pack 2

These fixes are included in Service Pack 4.

Issue Number

Issue Title and Description

30175 "Wrong Type For Text Display" Hardware Alarms When Calling CSV_Alarms_PopupMenu

A user triggers a popup via right clicking on one of the alarms from the section displaying the last 3 alarms on a CSV page and selecting the tag name. The popup opens correctly but displays the hardware alarm "Wrong Type For Text Display".

This has now been resolved.

32388 The project editor find and replace feature closes graphics pages unexpectedly

When the project editor find and replace feature is used, any open graphic pages are closed even when nothing was replaced on the page. This issue has been resolved.

35410

Page Properties Dialogs have incorrect information on the Event Tab

When there are multiple page properties dialogs open, the information on the Event tab shows the settings from the most recently opened dialog on all dialogs.

36328

Page Titles containing special characters are not displayed correctly in the toolbar Page-Back/Forward drop-down menus.

DspPopupMenu() uses certain (special) characters as flags for various Menu adornments. Page Titles that have any commas (','), as well as any leading Tilde ('~') or Exclamation ('!') characters are now displayed without those characters in the toolbar drop-down menus.

37524 Display of Tag values with engineering units have an extra space.

When Tag values are displayed with engineering units, and additional separating space was added.

This has now been fixed.

37533 Database Exchange control cannot be used in stored procedure with arguments

An error in the coding of the Database Exchange control meant that arguments were not being relayed to stored procedures.

This has now been fixed.

37538

The PageGoto Cicode function does not display the page on the active window if called from a popup page.

The PageGoto Cicode function does not display the page on the active window if called from a popup page. This problem should only occur on multimonitor CSV_Include projects with 1 monitor.

This issue has been resolved.

Mx4Facilities version 7.0 Service Pack 4 25

Issue Number

Issue Title and Description

37867 Trend file creation is slow

At startup the trend server was throttling the rate at which trend files are created according to [Trend]BytesWrittenBeforeSleep (intended to be a runtime only throttle), and this value was being capped at 32768 bytes. This has been fixed by introducing a new parameter [Trend]FileCreationWriteSize to control the rate at which trend files are initialised (whether created at startup or runtime). Its default value is 16384 bytes, with valid values being in the range 1 to 2147483647. Internal testing has shown optimal performance with values of 327680 bytes or lower. File writes larger than this appear to be batched in chunks of 65536 bytes, reducing the performance benefit. Environmental factors may alter this threshold.

37874 Cicode function StrToLines() with maxchars "1" does not return anything

StrToLines("AA BB CC",1,nLines) would return no lines when it should return six lines

38020 New modes in WinNewAt() and INI parameters for scrollbar removal

To provide support for scrollbar removal and to disable scrolling, new modes are available in WinNewAt(). Global settings can be applied through citect.ini parameters. New WinNewAt() Modes (argument 3): 16384 - Hide the horizontal scroll bar. 32768 - Hide the vertical scroll bar. 65536 - Disable horizontal scrolling. 131072 - Disable vertical scrolling. New citect.ini parameters: [Page] AllowHScrollBar=[0|1] (default 1) AllowVScrollBar=[0|1] (default 1) AllowHScroll=[0|1] (default 1) AllowVScroll=[0|1] (default 1)

38360

Some cicode alarm functions can modify alarm data when running the manager web client

The following Cicode functions can modify alarm data when the manager web client is running. AlarmAckRec, AlarmDisableRec, AlarmEnableRec, AlarmClearRec, AlarmSetThresholdRec, AlarmSetDelayRec and AlarmSetPriorityRec.

This issue has now been resolved.

38453 TrnPrint() cicode function doesn't display comment in v7.0

The function _FindCommentFromPen(), used by TrnPrint(), failed to account for the possibility of cluster-specific pen names e.g. cluster.pen.

This has now been fixed.

38573

Tag Import is failing for OPC Tags

In Citect Explorer, dynamically importing OPC tags from an OPC Server fails. This has now been fixed.

Mx4Facilities version 7.0 Service Pack 4

26

Issue Number

Issue Title and Description

38644 Crash while calling Cicode function "WinFree" in background Cicode.

This problem can arise when calling WinFree in background Cicode such as during the page event "while page shown".

The issue has been resolved.

38748 Alarm updates not sent to redundant server when [ALARM]SaveStyle=4 set

The implementation of the v7 UpdateStyle in the RedundantServer did not support alarm updates when SaveStyle=4. Thus the active server was sending updates but the redundant server was silently dropping them.

This has now been fixed.

38750

Forced type conversion for super genie parameters when the type is specified

If a super genie parameter has specific type, a type conversion operation is added by the compiler to the code so that pre v7 projects that have string values associated would work without change. Also the default value would be an empty string, when there is no association.

38792 Display clients crash intermittently when using Colour thresholds in rectangle fill.

If rectangle fill uses colour thresholds, a user intermittently would experience a crash in the display client.

This has been corrected.

38831 Citect crash when displaying a page with a symbol, which library name is longer than 31 characters

A larger maximum length for library names is permitted

38833 Values are not being updated on Standby Write I/O Device on a single I/O Server.

Standby Writes on a single I/O Server were being redirected to the currently Active Unit rather than special casing for *local* Standby Writes.

This has now been resolved.

38996 Cannot write to some REAL (type) disk PLC tags using MODNET protocol.

Due to differing IOServer and DISKDRV blocking algorithms, some IOServer calls lead to multiple Disk Command calls. If the address of a REAL tag happens to span two Disk Command blocks, then the REAL tag would fail validations checks. The checks are now performed using the IOServer blocks, instead.

40006 Report server may crash when using a group of devices as an output device

An unnecessary assumption in the code - that output devices were always single devices - would lead to a crash in the report server when a group was used as an output device.

40385 Shutdown crash when there are pending tag writes.

In some cases when the system is shut down while there is a pending write or in in rare cases asynchronous reads, then there will be a crash.

This has been fixed.

40423 AlarmACK function does not support alarm categories larger than 255

A logic error was introduced when refactoring the functions that handle alarm messages based on category.

This problem has now been resolved.

Mx4Facilities version 7.0 Service Pack 4 27

Issue Number

Issue Title and Description

40585 Multiple tag subscription callbacks result in "Out of Cicode threads" error.

Each subscription callback event requires a new Cicode thread. Thus if multiple callbacks were triggered simultaneously, this would exhaust the pool of available threads, leading to an "Out of Cicode threads" error. This has been fixed by introducing a queueing mechanism to handle subscription callbacks in order to throttle the maximum number of callback threads that will execute simultaneously. This maximum is controllable by a Citect.ini parameter [Code]CallbackThreads with a range of 1 to 512 and a default of 5.

41134 IO Redundancy doesn't fail over until the primary server is completely shutdown

Some systems will notice an extended delay (often 10 to 15 or more seconds) when switching from an active I/O server to a secondary I/O server when the SCADA system is shutdown cleanly. This was caused by the networking layer not being shutdown at an appropriate point in the shutdown sequence.

This issue has now been fixed.

41604 'Startup Page' and 'Project List' dropdown lists in the Computer Setup Wizard are not sorted.

The CBS_SORT style was added to the 'Startup Page' and 'Project Lists' dropdowns. This enhancement has been made. Where included in service packs, it

will only be installed on English installations of Citect.

42570 Writes for a StandbyWrite IO Device may be sent to the wrong IO Device

Writes to a tag on a StandbyWrite IO Device may have been issued to the wrong IO Device. The last IO Device entry, for the same channel, in the IODevice form would receive the write request.

This issue has now been rectified.

36365 Compile errors are produced with some Period field options in Project Editor forms

For French and German Citect installations, compile errors are produced when certain Period field options are selected from the drop down list in Project Editor forms. Such forms include Trend Tags and Events.

This problem has now been resolved.

37854 Alarm server CPU usage goes to 100% when starting a standby server

Alarm synchronization between redundant alarm servers was being done in an

inefficient manner, leading to high CPU usage when starting a second server.

This has now been corrected.

Difficulties in reproducing this issue have meant internal testing has not been able to verify this fix.

38611 Crash at shutdown when using Cicode page handles

User cicode functions that use window handles were not correctly handling shutdown situations, resulting in a crash at shutdown.

This has now been fixed.

Difficulties in reproducing this issue have meant internal testing has not been able to verify this fix.

Mx4Facilities version 7.0 Service Pack 4

28

Issue Number

Issue Title and Description

39763 Active Alarms displaying at random on graphics in place of objects during runtime

When switching between pages that include active alarms, the alarm text can sent to a page that is not the page that requested the alarm text. This results in the text being displayed on other graphical objects.

This issue is now resolved.

Difficulties in reproducing this issue have meant internal testing has not been able to verify this fix.

41708 Standby Alarm Server crash

A number of crashes have been fixed by correctly handling the communication of state changes to the redundant alarm server

Difficulties in reproducing this issue have meant internal testing has not been able to verify this fix.

Mx4Facilities version 7.0 Service Pack 4 29

Originally resolved in Service Pack 1

These fixes are included in Service Pack 4.

Issue Number

Issue Title and Description

23933 The DumpKernel() CiCode function is missing some lines from the page general kernel window

When the DumpKernel() CiCode function is invoked and general statistics is specified, the outputted general statistics have lines missing at the bottom when compared with the page general statistics in the kernel.

This problem is now resolved.

34414 Large CiCode programs could compile without an error, but when the CiCode was executed, a crash would occur.

This issue is resolved. When large CiCode fragments are detected, an error is reported by the compiler: “Compound statement too large; refactor code” The CiCode will need to be modified so that large fragments of CiCode are avoided.

34831 Trend server crash when servicing interpolated event trend sample requests from the Process Analyst

When using the Process Analyst to display interpolated event trend samples, the trend server may crash.

This problem has now been resolved.

35008 ActiveX objects in templates don't work when Fast Runtime Display is disabled.

Disabling Fast Runtime Display using INI setting [ANIMATOR]FastDisplay=0 causes ActiveX objects (including Process Analyst and menubar) embedded in templates to stop working.

This issue has been resolved.

35302 Disabled alarms do not persist after a restart.

After restarting an alarm server, disabled alarms become re-enabled. This was because the alarm server was not retaining a list of disabled alarms, nor was it retrieving them from the redundant server. Citect has confirmed this to be a problem in CitectSCADA versions 5.41 to 6.10. A CiCode workaround was available for versions 5.42 and 5.42A (KB Q4041) but this did not work in subsequent versions.

This problem has been fixed.

35744 Logging device delayed/buffered when writing to a DBF file.

When logging using a DBF file, data is not flushed to the file correctly.

This issue has been resolved.

36294 Also resolves 36580

Protocol specific licence fails under v7.0

Protocol specific licence check fails incorrectly, with a message "This licence will only support the 'x' protocol".

This issue has been resolved.

36409 PageInfo() with a type of 14 shows incorrectly in a web client

The CiCode function PageInfo(int) with argument 14 used in the web client can return incorrect values when either of the following two scenarios are satisfied:

1. When launching the web client window and not yet having manually resized it.

2. Manually resizing the base window so that scroll bars appear.

This has been resolved.

Mx4Facilities version 7.0 Service Pack 4

30

Issue Number

Issue Title and Description

36415 Alarms server hanging on start-up.

During start-up of a project with a space in its name, the alarm server stops responding, with the Runtime manager displaying the message "Initializing Alarm System".

This has now been fixed.

36446 AlarmComment() function does not work in v7.

The AlarmComment CiCode function was broken in v7, resulting in comments not being saved.

This has now been fixed.

36641 CitectSCADA Display Client will not run if the path specified in the [CtEdit]Copy parameter is unavailable.

If the [CtEdit]Copy directory or any other needed Copy project directories are not available at start-up CitectSCADA will halt.

This problem is now resolved.

36645 Hotkeys such as "Ctrl + G" do not operate correctly for German installations

Hotkeys such as "Ctrl + G" (Goto object in Graphics Builder) do not operate correctly for German installations.

This problem has now been resolved.

36647 Heavy network traffic on display client

IO devices being offline results in heavy network traffic between display client and IOServer.

This issue has now been resolved.

36658 Tracelog.dat may grow as large as 8GB, eventually leading to a crash

The default behaviour for logging in v7.0 allowed the tracelog.dat file to grow without bound, eventually leading to a crash.

This was fixed by changing the default behaviour to cap file size at 2MB. This can be overridden using the citect32.exe config file.

36725 Color picker missing from the "Edit Favorite Colors" window in Graphics Builder

For a German Citect installation, when editing "Favorite Colors" in Graphics Builder, the color picker is missing.

This problem has now been resolved.

36802 No protection for invalid arguments to SleepMS() and inaccurate sleep times

CiCode function SleepMS() provided no protection for invalid, or negative, sleep periods. It was also possible, given precisely the right sleep time relative to the system clock, to cause a finite lock in the internal sleep mechanism. This could result in CiCode threads waking after their intended time. These problems have now been resolved.

36820 ctListRead not working for tag arrays

The array support for ctListRead tags was accidentally removed in v7 when the interface was re-written to fit the new IO model.

This issue has now been resolved.

36822 Memory leak on #COM of an incorrect tag of a connected and correctly behaving PLC

When attempting to communicate with a PLC using an incorrectly configured tag a memory leak could result.

This issue has been resolved.

Mx4Facilities version 7.0 Service Pack 4 31

Issue Number

Issue Title and Description

36846 SubscriptionGetAttribute always returns engineering values, regardless of ScaleMode set.

The function SubscriptionGetAttribute with the sAttribute parameter set to "Value" always retrieves the engineering value, regardless of what was specified in the sScaleMode parameter passed to TagSubscribe.

This issue has been resolved.

36857 Log message functionality doesn't work properly when used in v7 objects

CitectSCADA was incorrectly truncating the log message for genies associated with an item in an array tag (e.g. tagA[2]) at the closing ']' character. This issue has been resolved.

36917 Alarm acknowledgements are lost on restart

Restarting the alarm and IO servers results in analog and advanced alarms being retriggered.

This issue has been resolved.

36958 Using the same tag with and without a cluster causes incorrect point count

The same tag defined with and without a cluster name will be counted twice in the point count. Now, when running in a single-cluster system, CitectSCADA ignores the cluster name when resolving tags, so that tags that are resolved with and without the cluster prefix will not be treated as two different tags, and thus will not be point counted twice.

36987 CSV_AlarmSummary Page does not display the full History of Alarms processed.

When a user views the CSV_AlarmSummary page only a maximum of 17 pages of alarm history is viewable when there should be more.

This problem is now resolved.

37134 Hundreds of calls to DspFont() can result in a Citect crash

A large number of calls to CiCode function DspFont(), typically in the hundreds, can result in a Citect crash.

This problem has now been resolved.

37146 MailSend() with attachments failing

Using MailSend() with attachments in v7 generates an MAPI error 12.

This issue has been resolved.

37205 Alarm server does not detect duplicate ids or tags in ALMINDEXSAVE.DAT

Alarm index file corruption was not detected at start-up, potentially leading to lost alarm save information.

Now, CitectSCADA checks the index file at start-up, and will report the following error message if corruption is detected: "Failed to load the Alarm Save file. The file 'ALMINDEXSAVE.DAT' was corrupt or invalid. Citect could not be started."

37287 Using string tags on pages or in CiCode leads to a memory leak

A change in the way string tags are handled in v7 caused a substantial memory leak when they are used in CiCode expressions (including page display).

This issue has now been resolved.

37305 Using the AlarmSetInfo() CiCode function to sort two pages of alarms by state then by priority causes incorrect results

When the user sorts a list of alarms that spans across two pages via the AlarmSetInfo CiCode function, using the sort keys state and priority the sorting of the alarms is incorrect.

This problem is now resolved.

Mx4Facilities version 7.0 Service Pack 4

32

Issue Number

Issue Title and Description

37314 The 'Unity Fastlinx User Documentation.pdf' file is not readable

The 'Unity Fastlinx User Documentation.pdf' file supplied with the product is not readable.

This file is located in the product BIN directory. The PDF file has been rebuilt and is now readable.

37391 Tag Subscription initially returns stale cache value with Quality set to Good

On a Tag Subcribe a new subscription is created with a Tag Value Quality corresponding to the cached value from a previous subscription of the tag. Thus any client is initially given the stale cache value with Quality set to Good.

This has now been fixed.

37484 "Cannot write to read only variable" compile error with Bailey driver on v7

Compiler support for the remapping functionality that the Bailey driver relies on was inadvertently removed from the CitectSCADA compiler.

This functionality has now been restored.

37715 Forced type conversion for super genie parameters when the type is specified

If a super genie parameter has specific type, a type conversion operation is added by the compiler to the code so that pre v7 projects that have string values associated would work without change. Also the default value would be an empty string, when there is no association.

37759 Unreliable or high-latency networks may result in high CPU for Tran.Task.Delay

Networks where there is high packet-loss or high latency may experience an issue where server processes suffer unusually high CPU in the Tran.Task.Delay task.

This is because connection attempts are timing out and not being correctly cleaned up.

This issue has now been fixed.

37835 MsgBrdcst() CiCode function does not support clustering

The MsgBrdcst function was not updated to support clustering in v7.

This function has now been modified to accept an optional 4th parameter for cluster name.

If no cluster is specified, MsgBrdcst will lookup the currently active cluster as per the logic for MsgOpen.

37915 Using the AlarmSetInfo() CiCode function alarms by state causes incorrect results

When the user sorts a list of alarms using the AlarmSetInfo CiCode function, using the sort key state the sorting of the alarms are incorrect.

This problem is now resolved.

37953 Using the AlarmSetInfo CiCode function to filter by Category does not filter correctly

When the user configures the AlarmSetInfo CiCode function to filter by category the incorrect alarms are displayed.

This problem is now resolved.

37968 Write to an array tag that is failed by a driver displays the wrong value on the page

If you attempt to write a value to an array tag that is failed by a driver, the value you attempted to write is display as the tag value on the page until you navigate off and back to that page. The expected behaviour is that the value on the page should revert to the correct value after the I/O server is notified of that the write failed.

This issue has been resolved.

Mx4Facilities version 7.0 Service Pack 4 33

Issue Number

Issue Title and Description

37969 AlarmSumDelete CiCode does not delete an alarm from summary page as expected.

When the user invokes the AlarmSumDelete CiCode function to delete an alarm from an alarm summary page it is not removed as expected.

This problem is now resolved.

38041 TimeToStr(...,3) returns the date in English instead of German

Using TimeToStr() to retrieve the date returned incorrect English values due to missing localisation elements for German locale.

This issue has been resolved.

38060 Also resolves 37875

Calling WinNewAt() with no cluster specified results in incorrect behaviour with mode 128

Calling CiCode function WinNewAt() with no cluster specified and mode 128 "Open a unique window. This mode prevents this window from being opened more then once”, incorrectly allows further windows of that type to be opened.

This problem has now been resolved.

38169 Local variable Tag Quality is never set to Good

Local variable Tag Quality is never set to Good. This affects the display of all tag on a page with a local variable Tag.

This has now been fixed.

38255 Security vulnerability when on port 20222 (ODBC)

An intentionally malformed packet can cause a buffer overrun when directed at Citect‟s port 20222 (used by ODBC). This vulnerability has been secured.

Users are reminded to run Citect as intended on a secure isolated network.

38274 Start-up errors running the Alarm Server on a remote machine using [CtEdit]Copy/Run

The Alarm Server in the past required access to master.dbf, a file residing only on the compile-time machine and not copied with [CtEdit]Copy/Run.

This dependency has now been removed and the problem resolved.

38314 Pop-up page not being recognized as a Child of the Parent Window

When a pop-up page is opened for the first time, it fails to set whether it should be a Child of the Parent Window or not.

For example using either the WinNewAt() or AssWin() CiCode functions with their Mode Parameters set to 1 (Page Child Window), a second call was not closing the first Window.

This has now been corrected.

38358 CiCode AssChainWin function operates incorrectly after maximum number of windows first reached

A number of CiCode functions, including AssChainWin(), create and use a pending Genie association with the next Window opened. If the window limit is reached this association is never completed and is erroneously used with the next successful window open.

This issue has been resolved.

38361 The Quality of tags on IODevices which are running in Memory mode are never set to Good.

The Quality of tags on IODevices which are running in Memory mode are never set to Good. This affects the display of all tags on any page with a tag from a memory IODevice.

This has now been fixed.

Mx4Facilities version 7.0 Service Pack 4

34

Issue Number

Issue Title and Description

38430 INT variable is evaluated in a CiCode expression as having a value of 0 when device is offline

Variables read by CiCode functions start as zero. Once read they retain the last value. If the IO device goes off line, they see the last value. A change of behaviour introduced in v7 meant that when Tag quality changed from Good to Bad it's value was cleared.

This has been corrected to behave as earlier versions do.

38510 IOServer reclaims DCB's that may still be held by drivers, resulting in crash

Under certain circumstances, usually involving a unit or units being offline, the IOServer reclaims a DCB that is being held by a driver. At some later point in time, the driver goes to process this DCB, which is no longer valid, and results in a crash.

This has been fixed.

38559 Start-up error "Cannot locate include project"

Correctly configured projects, typically employing the Add Project Link feature or [CtEdit]Copy/Run, could receive this error at start-up due to a fault in path reconstruction logic.

This problem has now been resolved.

38970 Alarm server memory leak on primary alarm server when standby alarm server is restarted

When the alarm sever defined as standby is shutdown and restarted the alarm process on the primary increases its memory usage considerably.

This has now been resolved.

39315 Memory leak when executing certain CiCode in a pop-up window

Certain (mostly arithmetic) operations will leak memory when called with incompatible types - this will trigger a corresponding type mismatch error.

This has now been resolved.

39643 TagInfo does not support online changes

A new CiCode function has been added, TagRDBReload, which reloads the information presented by TagInfo.

Also the compiler message indicating that TagInfo is deprecated has been removed.

39647 Reading a tag which is of bad quality may halt CiCode

With the following conditions satisfied reading a tag which is of bad quality may halt the CiCode. The tag is not read via TagRead. Error checking is enabled with ErrSet(0).

[Code]HaltOnError is set. The CiCode is not foreground. This issue has been resolved.

39648 Some kernel windows and DumpKernel() generate repeated rows when verbose mode is in use

Rows may be repeated in kernel windows or DumpKernel() output when verbose mode is in use. Verbose mode support has been removed from DumpKernel() and 'page queue' to avoid this issue.

39649 Fixed incorrect labels in kernal tasks and DCB for IODrivers

Some names generated for IODrivers do not have the expected portname part because the lack of explicit data type conversion.

They are fixed now.

39650 Alarms that have long tag name may not show up as expected in the alarm list

An alarm with a long tag name can be truncated and does not show up in the alarm list as expected. This issue has been resolved.

Mx4Facilities version 7.0 Service Pack 4 35

Issue Number

Issue Title and Description

39707 The Alarm Summary page displays "bad record identifier"

For versions above 7.0, the AlarmServer was sending data in the older format. The version number checking was changed to ensure the alarm/event data was sent in the correct format to clients of version 7 or higher. This situation could arise if the service pack is not installed on each client and server.

40338 Some displayed values do not go to #COM when an IO device goes offline

When an IO Device becomes offline due to a communication failure between the IOServer and the device, only some of the tags on the display clients graphics page are going to #COM.

This issue has been resolved

40339 Displayed values fail to go to #COM when an IO device with background polling enabled is disabled

Tags on IO devices with background polling enabled are not going to #COM on the display clients graphics page when the device is disabled using the IODeviceControl CiCode function.

This issue has been resolved

40413 Citect FTP Server is protected against malicious input and does not show IDC credentials.

The socket data read from the Citect FTP server is better validated to protect against intentional misuse, such as sending malformed data in format string or buffer overflow attacks.

In addition, the credentials used by the IDC are no longer stored in the module or loaded image. The credentials have not changed but are constructed and freed as needed to decrease their visibility.

41154 Default [kernel]ErrorBuffers value increased from 200 to 1000

The default value of the [Kernel]ErrorBuffers parameter has been increased from 200 to 1000. Traces are sent to the syslog.dat file by a background task and when the pending messages to print exceed the buffer count, the messages are lost.

41195 ctTagWrite() always returns immediately with a result of TRUE.

ctTagWrite() does not wait for the write to complete but always returns immediately with TRUE. This has now been fixed. Large numbers of consecutive writes will incur a performance degradation.

To work-around this, users may use the asynchronous version of this function (ctTagWriteEx with a valid CTOVERLAPPED structure).

41654 Using standby devices results in slow I/O updates

An error in the initialisation of standby devices at IOServer start-up results in slow page updates when retrieving data from standby devices.

This issue has now been fixed.

42098 [Code]WriteLocal=0 does not work for page or user subscriptions

Subscriptions automatically created for pages, as well as manually created by calling the TagSubscribe cicode function, were not honouring the [Code]WriteLocal parameter.

Instead they were being forced to update the local cache on any write.