Cicode Programming Reference > Using Cicode Macros > IFDEFAdvAlm


Based on the IFDEF macro, IFDEFAdvAlm allows you to define two possible outcomes based on whether or not a specified advanced alarm tag exists within a project at the time of compiling. The macro can be implemented anywhere a simple expression is used, including fields within relevant CitectSCADA dialogs.

The macro accepts three arguments: the first specifies the advanced alarm tag that requires confirmation, the second defines the outcome if the alarm exists, the third defines the outcome if it does not exist.

Note: As different types of alarms can share the same name, you have to use a variation of IFDEF to check for the existence of alarm tags. See IFDEFAnaAlm for analog alarms, or IFDEFDigAlm for digital alarms.


IFDEFAdvAlm(TagName, [<value if defined>], <value if not defined>)

Return Value

If the advanced alarm tag specified in the first argument exists, the value defined by the second argument is returned. This could be a variable, expression, or constant, or the current tag value if the argument has been left blank. If the specified alarm does not exist, the variable, expression, or constant defined by the third argument is returned.


! Generate tag value if advanced alarm "AdvAlarm_1" is defined
! Generate an empty string if "AdvAlarm_1" is not defined
! Generate a zero value (0) in Hidden When field if advanced alarm "AdvAlarm_1" is defined
! Generate a true value (1) in Hidden When field if "AdvAlarm_1" is not defined

For more examples of how to implement the IFDEF macro, see the CitectSCADA Knowledge Base article Q3461.

See Also