Tags have the ability to define any number of alarms. Each alarm is a condition that will be evaluated when the value of the tag changes. When the condition becomes true, the alarm is said to be active. When it becomes false, the alarm is said to be clear.
Many alarm properties are bindable, which means they can be bound to other tags in the system, or expressions. For example, you might bind the enabled property to another tag which represents whether or not your process is running, thereby disabling the alarm when production is stopped. Or, you might bind the setpoint of an alarm to a tag that operators can manipulate, thereby letting the setpoint be changed at runtime.
To bind a tag, simply click on the binding icon ( ), and the binding UI will slide in from the right. From here you can select the binding type (No Binding, Tag, Expression, or UDT Parameter, if applicable). Note that the expression can reference many useful values such as the tag's value and other settings of the alarm. When you've configured the binding to your liking, click on the "Back" button.
Associated data are custom alarm properties that can be added to any alarm. These properties will often be bound to other tags that represent associated contextual data that may be related to the alarm. A snapshot of the values of these properties will be taken when the alarm becomes active. These values will be attached to the alarm event as it moves through the rest of the alarming system, meaning that the values will be available from the alarm status system, the alarm journal system, and in the alarm notification system.
Main Alarm Settings
Each alarm has its own name. For example, if the tag is representing a level, the alarm name might be "High Level".
This boolean determines whether or not the alarm will be evaluated. A disabled alarm's condition will not be evaluated, and thus will not generate any alarm events.
An alarm's priority can affect how is appears in an alarm status table, or can affect how it is escalated through a pipeline. The priorities, which can be referenced by their integer equivalent in scripts and expressions, are: Diagnostic , Low , Medium , High , Critical 
Chooses where the timestamp for the alarm event should come from: the system time of when the event was generated, or the timestamp of the value that tripped the event.
This is a string value that will be used to display the alarm to operators. If this is blank, the operator will see the path to the tag instead. Please use the forward-slash character to separate hierarchy levels in this path, for example: "East Area/Boilers/Boiler5"
Dictates how acknowledgement works for the alarm.
A place for any free-form documentation about the alarm that can be displayed to operators.
Ack Notes Required
If this setting is true, the operators will be unable to acknowledge this alarm without entering some notes.
If this setting is true, the shelving feature will be available for this alarm.
Alarm Mode Settings
This setting controls what condition this alarm is evaluating. Available modes are:
Setpoint / Low Setpoint / High Setpoint
The setpoint properties are used for many alarm modes to specify in what range the alarm becomes active.
Inclusive / Low Inclusive / High Inclusive
These settings correspond to a setpoint. If true, the range will be active if the value is exactly equal to the setpoint, not only above or below it.
Deadbands and Time Delays
The value for the deadband, interpreted according to the deadband mode. Note that all alarms are only evaluated after the tag's value changes, which means that the tag's own deadband will be considered first.
When the deadband positive, an active alarm condition needs to clear its setpoint(s) by the amount of the deadband for the alarm to clear. For example, suppose you had a Between Setpoints alarm with a low setpoint of 50 and a high setpoint of 70, with a deadband of 2. The alarm will go active if the value is between 50 and 70, but will only clear if the value falls below 48 or rises above 72.
The time, in seconds, before the alarm will be considered active after the alarm's condition becomes true. Also known as a "rising edge time deadband"
The time, in seconds, before an active alarm will be considired clear after the alarm's condition becomes false. Also known as a "falling edge time deadband".
The name of an alarm notification pipeline to put this alarm into when it becomes active in order to send out active alarm messages. Many alarms may share a single pipeline.
The name of an alarm notification pipeline to put this alarm into when it becomes clear in order to send out clear messages.
Email Notification Settings
A string that will be used as the subject line of an email notification message. If blank, the message settings defined on the notification block that sent the email out will be used instead.
A string that will be used as the body of this alarm's email notification message. If blank, the message settings defined on the notification block that sent the email out will be used instead.
Extended Configuration Settings
Various modules may add additional properties to alarms. The will appear in the list as standard properties, unless the module is no longer available, in which case they'll appear as Associated Data. See the documentation of each particular module for more information about how the properties are used.