Bit (and bool) Array Alarming

Hi,

If you are unable to import the tag as an integer, there are two approaches you could take.

  1. Create a tag in the PLC that can be imported as an integer
    if this isn't an option
  2. Create a UDT that allows you to reference individual bits of the Boolean array tag. Attached is the json for an example that should help you get past the current issue. Please note that this is very inefficient but will hopefully help you out.

Copy the below into a txt file, name it whatever you wish with the .json extension at the end of the name. Import into your UDT's into ignition.

{
  "name": "BooleanArrayAlarm",
  "parameters": {
    "Tag": {
      "dataType": "String"
    }
  },
  "tagType": "UdtType",
  "tags": [
    {
      "name": "AlarmEval",
      "tagType": "Folder",
      "tags": [
        {
          "sourceTagPath": {
            "bindType": "parameter",
            "binding": "[.]../BooleanArray[{TagName}]"
          },
          "valueSource": "reference",
          "dataType": "Boolean",
          "alarms": [
            {
              "setpointA": 1.0,
              "name": "AlarmName",
              "label": "SystemTest"
            }
          ],
          "name": "20",
          "tagType": "AtomicTag"
        },
        {
          "sourceTagPath": {
            "bindType": "parameter",
            "binding": "[.]../BooleanArray[{TagName}]"
          },
          "valueSource": "reference",
          "dataType": "Boolean",
          "alarms": [
            {
              "setpointA": 1.0,
              "name": "AlarmName",
              "label": "SystemTest"
            }
          ],
          "name": "10",
          "tagType": "AtomicTag"
        },
        {
          "sourceTagPath": {
            "bindType": "parameter",
            "binding": "[.]../BooleanArray[{TagName}]"
          },
          "valueSource": "reference",
          "dataType": "Boolean",
          "alarms": [
            {
              "setpointA": 1.0,
              "name": "AlarmName",
              "label": "SystemTest"
            }
          ],
          "name": "24",
          "tagType": "AtomicTag"
        },
        {
          "sourceTagPath": {
            "bindType": "parameter",
            "binding": "[.]../BooleanArray[{TagName}]"
          },
          "valueSource": "reference",
          "dataType": "Boolean",
          "alarms": [
            {
              "setpointA": 1.0,
              "name": "AlarmName",
              "label": "SystemTest"
            }
          ],
          "name": "11",
          "tagType": "AtomicTag"
        },
        {
          "sourceTagPath": {
            "bindType": "parameter",
            "binding": "[.]../BooleanArray[{TagName}]"
          },
          "valueSource": "reference",
          "dataType": "Boolean",
          "alarms": [
            {
              "setpointA": 1.0,
              "name": "AlarmName",
              "label": "SystemTest"
            }
          ],
          "name": "29",
          "tagType": "AtomicTag"
        },
        {
          "sourceTagPath": {
            "bindType": "parameter",
            "binding": "[.]../BooleanArray[{TagName}]"
          },
          "valueSource": "reference",
          "dataType": "Boolean",
          "alarms": [
            {
              "setpointA": 1.0,
              "name": "AlarmName",
              "label": "SystemTest"
            }
          ],
          "name": "8",
          "tagType": "AtomicTag"
        },
        {
          "sourceTagPath": {
            "bindType": "parameter",
            "binding": "[.]../BooleanArray[{TagName}]"
          },
          "valueSource": "reference",
          "dataType": "Boolean",
          "alarms": [
            {
              "setpointA": 1.0,
              "name": "AlarmName",
              "label": "SystemTest"
            }
          ],
          "name": "0",
          "tagType": "AtomicTag"
        },
        {
          "sourceTagPath": {
            "bindType": "parameter",
            "binding": "[.]../BooleanArray[{TagName}]"
          },
          "valueSource": "reference",
          "dataType": "Boolean",
          "alarms": [
            {
              "setpointA": 1.0,
              "name": "AlarmName",
              "label": "SystemTest"
            }
          ],
          "name": "4",
          "tagType": "AtomicTag"
        },
        {
          "sourceTagPath": {
            "bindType": "parameter",
            "binding": "[.]../BooleanArray[{TagName}]"
          },
          "valueSource": "reference",
          "dataType": "Boolean",
          "alarms": [
            {
              "setpointA": 1.0,
              "name": "AlarmName",
              "label": "SystemTest"
            }
          ],
          "name": "22",
          "tagType": "AtomicTag"
        },
        {
          "sourceTagPath": {
            "bindType": "parameter",
            "binding": "[.]../BooleanArray[{TagName}]"
          },
          "valueSource": "reference",
          "dataType": "Boolean",
          "alarms": [
            {
              "setpointA": 1.0,
              "name": "AlarmName",
              "label": "SystemTest"
            }
          ],
          "name": "1",
          "tagType": "AtomicTag"
        },
        {
          "sourceTagPath": {
            "bindType": "parameter",
            "binding": "[.]../BooleanArray[{TagName}]"
          },
          "valueSource": "reference",
          "dataType": "Boolean",
          "alarms": [
            {
              "setpointA": 1.0,
              "name": "AlarmName",
              "label": "SystemTest"
            }
          ],
          "name": "6",
          "tagType": "AtomicTag"
        },
        {
          "sourceTagPath": {
            "bindType": "parameter",
            "binding": "[.]../BooleanArray[{TagName}]"
          },
          "valueSource": "reference",
          "dataType": "Boolean",
          "alarms": [
            {
              "setpointA": 1.0,
              "name": "AlarmName",
              "label": "SystemTest"
            }
          ],
          "name": "7",
          "tagType": "AtomicTag"
        },
        {
          "sourceTagPath": {
            "bindType": "parameter",
            "binding": "[.]../BooleanArray[{TagName}]"
          },
          "valueSource": "reference",
          "dataType": "Boolean",
          "alarms": [
            {
              "setpointA": 1.0,
              "name": "AlarmName",
              "label": "SystemTest"
            }
          ],
          "name": "13",
          "tagType": "AtomicTag"
        },
        {
          "sourceTagPath": {
            "bindType": "parameter",
            "binding": "[.]../BooleanArray[{TagName}]"
          },
          "valueSource": "reference",
          "dataType": "Boolean",
          "alarms": [
            {
              "setpointA": 1.0,
              "name": "AlarmName",
              "label": "SystemTest"
            }
          ],
          "name": "31",
          "tagType": "AtomicTag"
        },
        {
          "sourceTagPath": {
            "bindType": "parameter",
            "binding": "[.]../BooleanArray[{TagName}]"
          },
          "valueSource": "reference",
          "dataType": "Boolean",
          "alarms": [
            {
              "setpointA": 1.0,
              "name": "AlarmName",
              "label": "SystemTest"
            }
          ],
          "name": "27",
          "tagType": "AtomicTag"
        },
        {
          "sourceTagPath": {
            "bindType": "parameter",
            "binding": "[.]../BooleanArray[{TagName}]"
          },
          "valueSource": "reference",
          "dataType": "Boolean",
          "alarms": [
            {
              "setpointA": 1.0,
              "name": "AlarmName",
              "label": "SystemTest"
            }
          ],
          "name": "23",
          "tagType": "AtomicTag"
        },
        {
          "sourceTagPath": {
            "bindType": "parameter",
            "binding": "[.]../BooleanArray[{TagName}]"
          },
          "valueSource": "reference",
          "dataType": "Boolean",
          "alarms": [
            {
              "setpointA": 1.0,
              "name": "AlarmName",
              "label": "SystemTest"
            }
          ],
          "name": "9",
          "tagType": "AtomicTag"
        },
        {
          "sourceTagPath": {
            "bindType": "parameter",
            "binding": "[.]../BooleanArray[{TagName}]"
          },
          "valueSource": "reference",
          "dataType": "Boolean",
          "alarms": [
            {
              "setpointA": 1.0,
              "name": "AlarmName",
              "label": "SystemTest"
            }
          ],
          "name": "18",
          "tagType": "AtomicTag"
        },
        {
          "sourceTagPath": {
            "bindType": "parameter",
            "binding": "[.]../BooleanArray[{TagName}]"
          },
          "valueSource": "reference",
          "dataType": "Boolean",
          "alarms": [
            {
              "setpointA": 1.0,
              "name": "AlarmName",
              "label": "SystemTest"
            }
          ],
          "name": "2",
          "tagType": "AtomicTag"
        },
        {
          "sourceTagPath": {
            "bindType": "parameter",
            "binding": "[.]../BooleanArray[{TagName}]"
          },
          "valueSource": "reference",
          "dataType": "Boolean",
          "alarms": [
            {
              "setpointA": 1.0,
              "name": "AlarmName",
              "label": "SystemTest"
            }
          ],
          "name": "17",
          "tagType": "AtomicTag"
        },
        {
          "sourceTagPath": {
            "bindType": "parameter",
            "binding": "[.]../BooleanArray[{TagName}]"
          },
          "valueSource": "reference",
          "dataType": "Boolean",
          "alarms": [
            {
              "setpointA": 1.0,
              "name": "AlarmName",
              "label": "SystemTest"
            }
          ],
          "name": "26",
          "tagType": "AtomicTag"
        },
        {
          "sourceTagPath": {
            "bindType": "parameter",
            "binding": "[.]../BooleanArray[{TagName}]"
          },
          "valueSource": "reference",
          "dataType": "Boolean",
          "alarms": [
            {
              "setpointA": 1.0,
              "name": "AlarmName",
              "label": "SystemTest"
            }
          ],
          "name": "19",
          "tagType": "AtomicTag"
        },
        {
          "sourceTagPath": {
            "bindType": "parameter",
            "binding": "[.]../BooleanArray[{TagName}]"
          },
          "valueSource": "reference",
          "dataType": "Boolean",
          "alarms": [
            {
              "setpointA": 1.0,
              "name": "AlarmName",
              "label": "SystemTest"
            }
          ],
          "name": "16",
          "tagType": "AtomicTag"
        },
        {
          "sourceTagPath": {
            "bindType": "parameter",
            "binding": "[.]../BooleanArray[{TagName}]"
          },
          "valueSource": "reference",
          "dataType": "Boolean",
          "alarms": [
            {
              "setpointA": 1.0,
              "name": "AlarmName",
              "label": "SystemTest"
            }
          ],
          "name": "12",
          "tagType": "AtomicTag"
        },
        {
          "sourceTagPath": {
            "bindType": "parameter",
            "binding": "[.]../BooleanArray[{TagName}]"
          },
          "valueSource": "reference",
          "dataType": "Boolean",
          "alarms": [
            {
              "setpointA": 1.0,
              "name": "AlarmName",
              "label": "SystemTest"
            }
          ],
          "name": "21",
          "tagType": "AtomicTag"
        },
        {
          "sourceTagPath": {
            "bindType": "parameter",
            "binding": "[.]../BooleanArray[{TagName}]"
          },
          "valueSource": "reference",
          "dataType": "Boolean",
          "alarms": [
            {
              "setpointA": 1.0,
              "name": "AlarmName",
              "label": "SystemTest"
            }
          ],
          "name": "5",
          "tagType": "AtomicTag"
        },
        {
          "sourceTagPath": {
            "bindType": "parameter",
            "binding": "[.]../BooleanArray[{TagName}]"
          },
          "valueSource": "reference",
          "dataType": "Boolean",
          "alarms": [
            {
              "setpointA": 1.0,
              "name": "AlarmName",
              "label": "SystemTest"
            }
          ],
          "name": "15",
          "tagType": "AtomicTag"
        },
        {
          "sourceTagPath": {
            "bindType": "parameter",
            "binding": "[.]../BooleanArray[{TagName}]"
          },
          "valueSource": "reference",
          "dataType": "Boolean",
          "alarms": [
            {
              "setpointA": 1.0,
              "name": "AlarmName",
              "label": "SystemTest"
            }
          ],
          "name": "30",
          "tagType": "AtomicTag"
        },
        {
          "sourceTagPath": {
            "bindType": "parameter",
            "binding": "[.]../BooleanArray[{TagName}]"
          },
          "valueSource": "reference",
          "dataType": "Boolean",
          "alarms": [
            {
              "setpointA": 1.0,
              "name": "AlarmName",
              "label": "SystemTest"
            }
          ],
          "name": "14",
          "tagType": "AtomicTag"
        },
        {
          "sourceTagPath": {
            "bindType": "parameter",
            "binding": "[.]../BooleanArray[{TagName}]"
          },
          "valueSource": "reference",
          "dataType": "Boolean",
          "alarms": [
            {
              "setpointA": 1.0,
              "name": "AlarmName",
              "label": "SystemTest"
            }
          ],
          "name": "3",
          "tagType": "AtomicTag"
        },
        {
          "sourceTagPath": {
            "bindType": "parameter",
            "binding": "[.]../BooleanArray[{TagName}]"
          },
          "valueSource": "reference",
          "dataType": "Boolean",
          "alarms": [
            {
              "setpointA": 1.0,
              "name": "AlarmName",
              "label": "SystemTest"
            }
          ],
          "name": "25",
          "tagType": "AtomicTag"
        },
        {
          "sourceTagPath": {
            "bindType": "parameter",
            "binding": "[.]../BooleanArray[{TagName}]"
          },
          "valueSource": "reference",
          "dataType": "Boolean",
          "alarms": [
            {
              "setpointA": 1.0,
              "name": "AlarmName",
              "label": "SystemTest"
            }
          ],
          "name": "28",
          "tagType": "AtomicTag"
        }
      ]
    },
    {
      "opcItemPath": {
        "bindType": "parameter",
        "binding": "{Tag}"
      },
      "valueSource": "opc",
      "dataType": "BooleanArray",
      "name": "BooleanArray",
      "value": [
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false
      ],
      "tagType": "AtomicTag",
      "opcServer": "Ignition OPC UA Server"
    }
  ]
}
1 Like