Cicode Programming Reference > Using Cicode Macros > IFDEFDigAlm


Based on the IFDEF macro, IFDEFDigAlm allows you to define two possible outcomes based on whether or not a specified digital 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 digital 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 IFDEFAdvAlm for advanced alarms.


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

Return Value

If the digital 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 digital alarm "DigAlarm_1" is defined
! Generate an empty string if "DigAlarm_1" is not defined
! Generate a zero value (0) in Hidden When field if digital alarm "DigAlarm_1" is defined
! Generate a true value (1) in Hidden When field if "DigAlarm_1" is not defined

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

Related macros