Connector Status
There are couple of ways users can create a program to get the status of a connector and setup alarms. Here, we'll show you how to get the variable status that you can then use for logic and configure alarm.
One option is to add connector ref on the equip. The second option would be to create a string point that will have the connector ref. Both options will be covered below.
ConnStatus via Equip
First, the user will select an equip they would like to use to get the connector ref. It can be any equip. Then add a connRef property tag to it like below. Then drag the connector to that property to assign it to it.
Then create a program that runs on that equip only or if you have multiple equips for multiple connectors, then run it on those. When creating the program, don't select any points, all you need to do is select "Tags" because we will be using a tag from the connRef we added. Should look something like below when creating. We did it based on "equip and connRef" because we only have one.
Because "Tags" option was selected, the user will be prompted with the below pop up to add additional tags based on available refs on the equip. Since we added 'connRef', it will appear in the drop down for the user to select from. Once selected, the user will see available tags from the connector they can use. In this case, we want the connector status, so we'll select "connStatus" tag and finish creating the program.
From there, the user will now have the variable available to use in logic. It can be something like IF the status is not "ok", then set a boolean variable to true and use that for the alarm etc.
Below is a copy of the program the user can upload that contains the logic and alarms setup. Also added the dis variable so that the users will be able to know which connector it is in case they have multiple of them. The program is called "connStatusProgramEquip". The reason we used to check if its not 'ok' and 'down' is because when its down, it doesn't necessarily mean that is bad. Its just means that there is nothing keeping it in watch so its asleep until viewing the data by opening equip or graphic, or having points historized from that connector etc. So if its anything other than that, it'll be in alarm. Also added couple screenshots in case you would like to create it yourself.
ConnStatus via Point
With this version, we recommend to create a new equip that will contain newly creating virtual string points, which in turn those will have the connRef instead of on the equip. So create a new equip and string point. Add a "connRef" property tag on the point like below and drag the connector to that property to assign to it. Make sure to also tag it as "allowProgram" and "connStatusPoint". What 'allowProgram' does is it will allow the point to be used in logic builder, otherwise you won't be able to use it. 'connStatusPoint' is just a generic tag to make sure the program only runs on these connector status points. IF you would also like to see the value of being the status of the connector on the point, then make sure the point is writable as well so that the program can write to it. It should look like something below before creating the point.
Then create the program that runs on the point(s). Below is an example of how it would look like. We are running the program on "point and allowProgram and connStatusPoint". Then just hit create.
Then once the program editor is open. On the right menu select "Add Variables" and the below pop up will appear. The name is "connStatus" because that is the tag on the connector we are looking for. Next is the binding and it is optional unless you know what it would be. In this case, its "id==$connRef" because its saying what is it we are looking based on the current target. In this case "id" is the target and "connRef" is the property on the point we are using. The rest should be like below.
Thats it, now you have the variable to create the logic.
Below is a copy of the program the user can upload that contains the logic and alarms setup. Also added the dis variable so that the users will be able to know which connector it is in case they have multiple of them. As well as curVal so that we can write to the point. The program is called "connStatusProgramPoint". The reason we used to check if its not 'ok' and 'down' is because when its down, it doesn't necessarily mean that is bad. Its just means that there is nothing keeping it in watch so its asleep until viewing the data by opening equip or graphic, or having points historized from that connector etc. So if its anything other than that, it'll be in alarm. Also added couple screenshots in case you would like to create it yourself.
Haystack Device Status
There are cases where customers would like to know if certain devices in Niagara are down. In this case, its difficult to tell since they all come in under one haystack connector in FIN Stack and its not necessarily the status of the connector, but the devices in Niagara Network or Bacnet Network etc. So to create a program to check if any of those devices are down would be to create a program that runs on a point from each device. That way if the one of those points is down, you'll know which device it is even though the FIN Stack connector is 'ok'. To set this up, follow the below.
First the user will tag one point from each device that they know won't change like being renamed or moved etc. The tag in our example is "deviceStatus" so in this case tag the choose point as "deviceStatus" and "allowProgram".
Then create the program to run on the those points. It should look like something below.
Then create a new variable from the "Add Variable" from the right menu. We want to add the curStatus of the point. Then we use that in logic to trigger the alarm based on the status of the point.
Below is a copy of the program the user can upload that contains the logic and alarms setup. Also added the dis, equipNavName, siteNavName, and navName variables so that the users will be able to know which site, floor, equip, and point it is in case they have multiple of them. The program is called "deviceStatusProgram". Also added couple screenshots in case you would like to create it yourself.
So all the user has to do if they upload the program is make sure the point is tagged correct as mentioned above and it should work. Remember, only do one point per device.