Applies To:
  • CitectSCADA 6.10, 7.00, 7.10 
  • Vijeo Citect 6.10, 7.00, 7.10

Summary:

The following Cicode functions do not work exactly as specified in the Help:

CSV_Nav_Alarms
CSV_Nav_AlarmsDisabled
CSV_Nav_AlarmsHardware
CSV_Nav_AlarmsSummary

According to the help, the page that is displayed by the alarm buttons at the bottom left of each template can be customised by using the following citect.ini parameters:

[Navigation]
AlarmPage
DisabledPage
HardwarePage
SummaryPage

In addition to selecting a page to be displayed via these citect.ini parameters, you should also be able to specify a function by using the question mark (?) as a prefix, according to the help:

- To specify a function prefix the function name with "?"

However, none of the above Cicode functions, nor the CSV_MM_PageDisplay function (which is the one the above functions call) do any check to see if a ? prefix has been used. Therefore, this functionality does not work and you get an error message prompted on the screen to say that the page cannot be displayed.


Solution:

This issue has been raised with developers to be looked at for future versions. If you really need this functionality to work, then you can work around the problem by modifying some of the functions which are provided in the CSV_Include project.

Firstly, you would need to create a new Cicode function _CSV_MM_ProcessAction as follows:

INT
FUNCTION
_CSV_MM_ProcessAction(STRING sAction)

        STRING  sFunction;
        STRING  sArg;
        INT             iError;

        IF sAction = "" THEN

                RETURN -1;
        END

        sFunction = _CSV_MM_GetFunction(sAction);
        sArg = _CSV_MM_GetArgument(sAction);   

        IF sFunction <> "" THEN

                _msRecentAction_ArraySet(CSV_MM_GetMonitor(), sAction);
                TaskNew(sFunction, sArg, 0);

        ELSE
                iError = CSV_MM_PageDisplay(sAction);
        END    

        RETURN iError;
END

Then, for CSV_Nav_Alarms(), CSV_Nav_AlarmsDisabled(), CSV_Nav_AlarmsHardware() and CSV_Nav_AlarmsSummary(), all you need to do is change is the call...

RETURN CSV_MM_PageDisplay(<page name variable>)

... to ...

RETURN _CSV_MM_ProcessAction(<page name variable>)

DISCLAIMER: We do not recommend modifying the contents CSV_Include project as any changes will be lost on upgrade. The above workaround is provided to merely demonstrate how the problem can be resolved. A better approach would be to copy the respective Cicode from the CSV_Include project into your own projects (renaming the functions, of course) and then modifying the functions accordingly. If you decide to modify the functions in the CSV_Include project directly, you are doing so at your own risk.


Keywords:
CSV_Nav_Alarms, CSV_Nav_AlarmsDisabled, CSV_Nav_AlarmsHardware, CSV_Nav_AlarmsSummary, AlarmPage, DisabledPage, HardwarePage, SummaryPage

Attachments