Create New Alarm Config
Create New Alarm Config
If the user wants to create their own Alarm Config to use, they can follow the below. We walk through the whole process.
The tag bundle would be to apply or remove specified tags on points selected in the Alarm Config app
Then the program would be for the predefined logic to run against those tags if conditions are met
Prerequisites:
Alarm Config Ext enabled in Settings app if not already enabled (refresh browser once enabled)
finDbBuilderFormsExt
enabled in the Settings app as well if not already enabled.Tag Bundle to use for applying alarms (used in combination with this app)
Program to generate the alarms by said tags applied on the points (used in combination with this app)
Enabling Alarm Config Ext
The user would first enable the Alarm Config Ext to be able to use it after creating the tag bundle.
1. To enable the Alarm Config ext, the user would open the App Launcher top left and select the Settings App.
2. Once the Settings app is selected, select Ext option
3. Find the AlarmConfig
extension to enable
4. Once enabled, the user would refresh the browser to see the Alarm Config app available in the App Launcher.
5. Now that it is enabled, its time to create a Tag Bundle to use.
Creating Tag Bundle For Alarm Config
The user will have to create a tag bundle to use with the Alarm Config. Below is an example we're using. We have built in alarm tag bundles if you want to use those for references as well.
1. The user would now need to open DB Builder and open the Tag Bundles tree to create a new tag bundle
To learn more about the Tag Bundles Tree go here.
2. Once there, the user will click on the towards the top right to create a new tag bundle.
3. Once selected, the will be displayed with a popup window called
Add Tag Bundle
1. When filled out, the user can select the Apply button to create a tag bundle
Name (required) - this would be a name for the tag bundle
Description (optional) - this is where the user can specify a description of what this tag bundle is for
Allow Filter (optional) - this is where the user can specify which records this will run against and apply/remove the tags
Tags to Add (optional) - this is where the user can specify what tags to apply to the point records
Tags to Remove (optional) - this where the user can specify what tags to remove on the point records if any
Config Type (required for Alarm Config) - this is where the user can specify what type of bundle this would be for. In our case, we choose Alarm in order for it to appear in the Alarm Config app.
Once Alarm is selected, the user will get another option below it to pick the Point Kind (required) - this is where the user will pick for which type of point this bundle is for (this will make the bundle only appear for appropriate type in the Alarm Config app)
Track Bundle (optional) - this is where the user can specify if they want to track the bundle or not. What this does is adds a tag depending on what was chosen above on Config Type. In this case, Alarm was chosen, so it would add an "alarmConfig" tag on the point record and list the name of tag bundle(s) being used by that particular point. If none was selected for Config Type, the tag would be "bundles" and if History was selected, it would by historyConfig, etc.
Sample:
Name
we chose "Boolean Alarms" for the tag bundle name.
Description
we chose "Trigger alarm if bool is true."
Allow Filter
we chose "point and kind=="Bool"" for the allow filter. This means we can only apply this to points that are boolean types.
Tags to Add
we chose to add the below tags as examples of what the user can do, but the user can choose anything they want. Only one required is the "allowProgram":
allowProgram (marker - required) - this tag is needed in order to allow a program to run on points, without it, the program cannot run on it only equips.
alarmPoint (marker - personal preference) - this is a tag to categorize this point as an alarm point. So instead of using "alarm", we recommend using "alarmPoint" because "alarm" is a system tag that is reserved for the alarms app.
alarmEnable (boolean - personal preference) - this is a boolean tag that we can use to remove a point from being "alarmable" if we needed to without removing it completely from the alarm configurations as we'll show you later on.
boolAlarm (boolean - personal preference) - this is to label the point as "boolAlarm" so that we can distinguish it between different programs in the event multiple different programs on running on it for different types of alarms. We'll be using this in the programOn so that the program only runs on these types of points.
alarmText (string - personal preference) - this is to add a dynamic alarmText instead of making a generic one in the alarmBlock when creating the alarms in the program. We'll be showing you how this is linked in the program later on. "bool" would be the variable name inside the program and the '$' before it is to grab the value of that variable and use it in the alarmText field. For example, if the bool variable returns the point navName, it will inject that navName in the alarmText field and say something like "Fan is true" for example.
Config Type
we chose Alarm since this is an example of how the Alarm Config works
Point Kind
we chose Boolean since we'll be created boolean alarms.
Track Bundle
we enabled this to show you what would happen when applied
Creating Program Example
1. The user will navigate to an equip which the point lives under and create a new program.
In our case, we navigated to our VAV-01 and created a new program that is below.
The properties we filled out are below:
Name (required) - we named the program "Bool Alarms"
Description (optional) - we added a short description of "Trigger an alarm if bool is true"
Program On (required) - we added
alarmPoint and boolAlarm and alarmEnable==true and kind=="Bool"
as the filter. This program will only run on those points which match this filter.alarmPoint
we added this in the filter so that it looks for all boolean points that are tagged as alarmPoint
boolAlarm
we added this so that we know that this is for boolean alarms not some other logic like occupancy or temps etc
alarmEnable
this is a boolean tag so we can easily remove a point from being alarmable if we toggle it to false on the point itself. Its not needed but is only an example of what you can do.
kind
this is a string tag that specifies the type of point to look for and not some other type
2. Once that is filled out, the user will select the OK button to continue and create the program.
3. With the program editor open, the user will select to Add Variables to add some tag variables in the program.
4. We'll be adding three tags:
1. curVal (boolean) - this would be to get the curVal of the boolean points |
| |
2. navName (string - variable renamed to "bool") - this would be to get the navName of the point and use dynamically in the alarmText tag. We could have left the variable name as navName and instead of specifying "$bool" in the alarmText, we could have specified "$navName". |
| |
3. alarmText (string) - this would be to make the alarmText dynamic per point in case we wanted to change what the text says on some instead of all having the same text. |
|
5. Once the three tag variables are created, the tags will be available to use in the program.
6. Now the user would create the logic they would want
In our case, it's a simple where if the boolean point is true, we'll be triggering an alarm.
7. We'll toggle to the Alarm routine tab towards top left/center.
8. Then we drag out an alarmBlock from the library bottom left.
9. We then link that to the routine start block and set the below:
alarm "Select a variable" - we select the curVal variable to set as the trigger for the alarm since the alarmBlock takes boolean variables only to trigger alarms.
alarmText
we link the alarmText variable to a strMacro block first, then to the alarmText property. The reason we need a strMacro block, in this case, is that we are using the '$' in the alarmText to generate a dynamic string that pulls the value of a variable. In order for that to work, it needs to go through the strMacro block. If we didn't use that dynamic feature, we would just link directly to the alarmText property on the alarmBlock.
instructions
we put something random here like "Please check this". Note: this can be made dynamic like the alarmText if the user chose to add another tag called "instructions" to the point. Then they can change it per point if they wanted some to be different.
priority
we set this to 100
10. Now the user will save the program and we'll be ready to use the Alarm Config app and configure boolean points as alarmable.