Alarm Notification Groups

Use the OPC Systems component in your Visual Studio application to programmatically modify alarm notification groups. Refer to the FormConfigureAlarmNotification Form in the WinForm Example Code example for an example and how to add and modify alarm logging groups.

GetAlarmNotificationNames

The GetAlarmNotificationNames Function returns a list of the Alarm Notification Groups.

Returns Empty String Array if service is not reachable.

NetworkNode is the name of the network node of the OAS Service to connect to. Leave blank for localhost connection.

Optional ErrorString will be set to Success when function is successful and an error message when in error.

VB

Private Sub ButtonGetAlarmNotificationNames_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonGetAlarmNotificationNames.Click
        Cursor.Current = Cursors.WaitCursor
        ComboBoxGetAlarmNotificationNames.Items.Clear()
        Dim Groups() As String
        Dim Group As String
        Dim ErrorString As String = ""
        Groups = ModuleNetworkNode.OPCSystemsComponent1.GetAlarmNotificationNames(TextBoxNetworkNode.Text, ErrorString)
        If ErrorString = "Success" Then
            For Each Group In Groups
                ComboBoxGetAlarmNotificationNames.Items.Add(Group)
            Next
            If ComboBoxGetAlarmNotificationNames.Items.Count > 0 Then
                ComboBoxGetAlarmNotificationNames.SelectedIndex = 0
            End If
        Else
            MessageBox.Show(ErrorString, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
        End If
    End Sub
 
    Private Sub ComboBoxGetAlarmNotificationNames_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBoxGetAlarmNotificationNames.SelectedIndexChanged
        TextBoxAlarmNotificationGroup.Text = ComboBoxGetAlarmNotificationNames.SelectedItem
    End Sub

C#

              private void ButtonGetAlarmNotificationNames_Click(object sender, System.EventArgs e)
              {
                     System.Windows.Forms.Cursor.Current = Cursors.WaitCursor;
                     ComboBoxGetAlarmNotificationNames.Items.Clear();
                     string[] Groups = null;

//INSTANT C# NOTE: Commented this declaration since looping variables in 'foreach' loops are declared in the 'foreach' header in C#:
//                   string Group = null;
                     string ErrorString = "";
                     Groups = ModuleNetworkNode.OPCSystemsComponent1.GetAlarmNotificationNames(TextBoxNetworkNode.Text, ref ErrorString);
                     if (ErrorString == "Success")
                     {
                           foreach (string Group in Groups)
                           {
                                  ComboBoxGetAlarmNotificationNames.Items.Add(Group);
                           }
                           if (ComboBoxGetAlarmNotificationNames.Items.Count > 0)
                           {
                                  ComboBoxGetAlarmNotificationNames.SelectedIndex = 0;
                           }
                     }
                     else
                     {
                           MessageBox.Show(ErrorString, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                     }
              }
 
              private void ComboBoxGetAlarmNotificationNames_SelectedIndexChanged(object sender, System.EventArgs e)
              {
                     TextBoxAlarmNotificationGroup.Text = ComboBoxGetAlarmNotificationNames.SelectedItem.ToString();
              }
 

AddAlarmNotificationGroup

The AddAlarmNotificationGroup Function adds a Alarm Notification Group to the existing Alarm Notification configuration.

Returns -1 if service is not reachable.

Returns 1 if successful.

Returns 0 if the Group already exists or adding the Group failed.

Group is the name of the Group to add.

NetworkNode is the name of the network node of the OAS Service to connect to. Leave blank for localhost connection.

Optional ErrorString will be set to Success when function is successful and an error message when in error.

VB

    Private Sub ButtonAddAlarmNotificationGroup_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonAddAlarmNotificationGroup.Click
        Cursor.Current = Cursors.WaitCursor
        Dim ResultInt32 As Int32
        Dim ErrorString As String = ""
        ResultInt32 = ModuleNetworkNode.OPCSystemsComponent1.AddAlarmNotificationGroup(TextBoxAlarmNotificationGroup.Text, TextBoxNetworkNode.Text, ErrorString)
        If ResultInt32 = -1 Then
            LabelAddAlarmNotificationGroupResult.Text = "OAS Service not reached."
        ElseIf ResultInt32 = 1 Then
            LabelAddAlarmNotificationGroupResult.Text = "Group successfully added."
        Else
            LabelAddAlarmNotificationGroupResult.Text = ErrorString
        End If
    End Sub

C#

              private void ButtonAddAlarmNotificationGroup_Click(object sender, System.EventArgs e)
              {
                     System.Windows.Forms.Cursor.Current = Cursors.WaitCursor;
                     Int32 ResultInt32 = 0;
                     string ErrorString = "";
                     ResultInt32 = ModuleNetworkNode.OPCSystemsComponent1.AddAlarmNotificationGroup(TextBoxAlarmNotificationGroup.Text, TextBoxNetworkNode.Text, ref ErrorString);
                     if (ResultInt32 == -1)
                     {
                           LabelAddAlarmNotificationGroupResult.Text = "OAS Service not reached.";
                     }
                     else if (ResultInt32 == 1)
                     {
                           LabelAddAlarmNotificationGroupResult.Text = "Group successfully added.";
                     }
                     else
                     {
                           LabelAddAlarmNotificationGroupResult.Text = ErrorString;
                     }
              }
              

RemoveAlarmNotificationGroup

The RemoveAlarmNotificationGroup Function removes a Alarm Notification Group from the existing Alarm Notification configuration.

Returns -1 if service is not reachable.

Returns 1 if successful.

Returns 0 if the Group does not exist or removing the Group failed.

Group is the name of the Group to remove.

NetworkNode is the name of the network node of the OAS Service to connect to. Leave blank for localhost connection.

Optional ErrorString will be set to Success when function is successful and an error message when in error.

VB

    Private Sub ButtonRemoveAlarmNotificationGroup_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonRemoveAlarmNotificationGroup.Click
        Cursor.Current = Cursors.WaitCursor
        Dim ResultInt32 As Int32
        Dim ErrorString As String = ""
        ResultInt32 = ModuleNetworkNode.OPCSystemsComponent1.RemoveAlarmNotificationGroup(TextBoxAlarmNotificationGroup.Text, TextBoxNetworkNode.Text, ErrorString)
        If ResultInt32 = -1 Then
            LabelRemoveAlarmNotificationGroupResult.Text = "OAS Service not reached."
        ElseIf ResultInt32 = 1 Then
            LabelRemoveAlarmNotificationGroupResult.Text = "Group successfully removed."
        Else
            LabelRemoveAlarmNotificationGroupResult.Text = ErrorString
        End If
    End Sub

C#

              private void ButtonRemoveAlarmNotificationGroup_Click(object sender, System.EventArgs e)
              {
                     System.Windows.Forms.Cursor.Current = Cursors.WaitCursor;
                     Int32 ResultInt32 = 0;
                     string ErrorString = "";
                     ResultInt32 = ModuleNetworkNode.OPCSystemsComponent1.RemoveAlarmNotificationGroup(TextBoxAlarmNotificationGroup.Text, TextBoxNetworkNode.Text, ref ErrorString);
                     if (ResultInt32 == -1)
                     {
                           LabelRemoveAlarmNotificationGroupResult.Text = "OAS Service not reached.";
                     }
                     else if (ResultInt32 == 1)
                     {
                           LabelRemoveAlarmNotificationGroupResult.Text = "Group successfully removed.";
                     }
                     else
                     {
                           LabelRemoveAlarmNotificationGroupResult.Text = ErrorString;
                     }
              }

GetAlarmNotificationParameterStrings

The GetAlarmNotificationParameterStrings Function returns an array of Strings containing all property types available for each Alarm Notification Group.

Returns Empty String Array if service is not reachable.

Returns a String Array of property types for all possible Parameters for a Alarm Notification Group.

NetworkNode is the name of the network node of the OAS Service to connect to. Leave blank for localhost connection.

VB

    Private Sub ButtonGetAlarmNotificationParameterStrings_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonGetAlarmNotificationParameterStrings.Click
        Cursor.Current = Cursors.WaitCursor
        ComboBoxGetAlarmNotificationParameterStrings.Items.Clear()
        Dim Parameters() As String
        Dim Parameter As String
        Parameters = ModuleNetworkNode.OPCSystemsComponent1.GetAlarmNotificationParameterStrings(TextBoxNetworkNode.Text)
        For Each Parameter In Parameters
            ComboBoxGetAlarmNotificationParameterStrings.Items.Add(Parameter)
        Next
        If ComboBoxGetAlarmNotificationParameterStrings.Items.Count > 0 Then
            ComboBoxGetAlarmNotificationParameterStrings.SelectedIndex = 1
        End If
    End Sub
 
    Private Sub ComboBoxGetAlarmNotificationParameterStrings_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBoxGetAlarmNotificationParameterStrings.SelectedIndexChanged
        TextBoxParameter.Text = ComboBoxGetAlarmNotificationParameterStrings.SelectedItem
    End Sub

C#

              private void ButtonGetAlarmNotificationParameterStrings_Click(object sender, System.EventArgs e)
              {
                     System.Windows.Forms.Cursor.Current = Cursors.WaitCursor;
                     ComboBoxGetAlarmNotificationParameterStrings.Items.Clear();
                     string[] Parameters = null;
//INSTANT C# NOTE: Commented this declaration since looping variables in 'foreach' loops are declared in the 'foreach' header in C#:
//                   string Parameter = null;
                     Parameters = ModuleNetworkNode.OPCSystemsComponent1.GetAlarmNotificationParameterStrings(TextBoxNetworkNode.Text);
                     foreach (string Parameter in Parameters)
                     {
                           ComboBoxGetAlarmNotificationParameterStrings.Items.Add(Parameter);
                     }
                     if (ComboBoxGetAlarmNotificationParameterStrings.Items.Count > 0)
                     {
                           ComboBoxGetAlarmNotificationParameterStrings.SelectedIndex = 1;
                     }
              }
 
              private void ComboBoxGetAlarmNotificationParameterStrings_SelectedIndexChanged(object sender, System.EventArgs e)
              {
                     TextBoxParameter.Text = ComboBoxGetAlarmNotificationParameterStrings.SelectedItem.ToString();
              }

GetAlarmNotification_Parameter_Value

The GetAlarmNotification_Parameter_Value Function returns an object value for the Alarm Notification Group and Parameter specified.

Returns nothing if service is not reachable.

Parameter is a String of the Parameter Type desired of the Alarm Notification Group.

Group is a String of the Alarm Notification Group desired.

NetworkNode is the name of the network node of the OAS Service to connect to. Leave blank for localhost connection.

Optional ErrorString will be set to Success when function is successful and an error message when in error.

VB

    Private Sub ButtonGetAlarmNotification_Parameter_Value_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonGetAlarmNotification_Parameter_Value.Click
        Cursor.Current = Cursors.WaitCursor
        Dim ResultObject As Object
        Dim ErrorString As String = ""
        ResultObject = ModuleNetworkNode.OPCSystemsComponent1.GetAlarmNotification_Parameter_Value(TextBoxParameter.Text, TextBoxAlarmNotificationGroup.Text, TextBoxNetworkNode.Text, ErrorString)
        If ErrorString = "Success" Then
            If ResultObject Is Nothing Then
                LabelGetAlarmNotification_Parameter_ValueResult.Text = ""
                TextBoxValueToSet.Text = ""
            Else
                Try
                    LabelGetAlarmNotification_Parameter_ValueResult.Text = ResultObject
                    TextBoxValueToSet.Text = ResultObject
                Catch ex As Exception
                    LabelGetAlarmNotification_Parameter_ValueResult.Text = "Error converting value to string."
                    TextBoxValueToSet.Text = ""
                End Try
            End If
        Else
            LabelGetAlarmNotification_Parameter_ValueResult.Text = ErrorString
            TextBoxValueToSet.Text = ""
        End If
    End Sub

C#

              private void ButtonGetAlarmNotification_Parameter_Value_Click(object sender, System.EventArgs e)
              {
                     System.Windows.Forms.Cursor.Current = Cursors.WaitCursor;
                     object ResultObject = null;
                     string ErrorString = "";
                     ResultObject = ModuleNetworkNode.OPCSystemsComponent1.GetAlarmNotification_Parameter_Value(TextBoxParameter.Text, TextBoxAlarmNotificationGroup.Text, TextBoxNetworkNode.Text, ref ErrorString);
                     if (ErrorString == "Success")
                     {
                           if (ResultObject == null)
                           {
                                   LabelGetAlarmNotification_Parameter_ValueResult.Text = "";
                                  TextBoxValueToSet.Text = "";
                           }
                           else
                           {
                                  try
                                  {
                                         LabelGetAlarmNotification_Parameter_ValueResult.Text = ResultObject.ToString();
                                         TextBoxValueToSet.Text = ResultObject.ToString();
                                  }
                                  catch (Exception ex)
                                  {
                                         LabelGetAlarmNotification_Parameter_ValueResult.Text = "Error converting value to string.";
                                         TextBoxValueToSet.Text = "";
                                  }
                           }
                     }
                     else
                     {
                           LabelGetAlarmNotification_Parameter_ValueResult.Text = ErrorString;
                           TextBoxValueToSet.Text = "";
                     }
              }

GetAlarmNotification_Parameter_Values

The GetAlarmNotification_Parameter_Values Function returns an array of object values for the Alarm Notification Group specified.

The order of the array corresponds with the GetAlarmNotificationParameterStrings Function order.

Returns empty array if service is not reachable.

Group is a String of the Alarm Notification Group desired.

NetworkNode is the name of the network node of the OAS Service to connect to. Leave blank for localhost connection.

Optional ErrorString will be set to Success when function is successful and an error message when in error.

VB

Private Sub ButtonGetAlarmNotification_Parameter_Values_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonGetAlarmNotification_Parameter_Values.Click
 Cursor.Current = Cursors.WaitCursor
 ComboBoxGetAlarmNotification_Parameter_Values.Items.Clear()
 Dim ResultObjects() As Object
 Dim ResultObject As Object
 Dim ResultString As String
 Dim ErrorString As String = ""
 ResultObjects = ModuleNetworkNode.OPCSystemsComponent1.GetAlarmNotification_Parameter_Values(TextBoxAlarmNotificationGroup.Text, TextBoxNetworkNode.Text, ErrorString)
 If ErrorString = "Success" Then
 For Each ResultObject In ResultObjects
 Try
 If ResultObject Is Nothing Then
 ResultString = ""
 Else
 ResultString = ResultObject
 End If
 ComboBoxGetAlarmNotification_Parameter_Values.Items.Add(ResultString)
 Catch ex As Exception
 ComboBoxGetAlarmNotification_Parameter_Values.Items.Add("Error Converting Object")
 End Try
 Next
 If ComboBoxGetAlarmNotification_Parameter_Values.Items.Count > 0 Then
 ComboBoxGetAlarmNotification_Parameter_Values.SelectedIndex = 1
 End If
 Else
 MessageBox.Show(ErrorString, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
 End If
 End Sub

SetAlarmNotification_Parameter_Value

The SetAlarmNotification_Parameter_Value Function sets an object value for the Alarm Notification Group and Parameter specified.

Returns -1 if service is not reachable.

Returns 0 if the Group does not exist or the value did not get set correctly.

Returns 1 if the function was successful.

Parameter is a String of the Parameter Type desired of the Alarm Notification Group.

Value is the desired value to set.

Group is a String of the Alarm Notification Group desired.

NetworkNode is the name of the network node of the OAS Service to connect to. Leave blank for localhost connection.

Optional ErrorString will be set to Success when function is successful and an error message when in error.

VB

    Private Sub ButtonSetAlarmNotification_Parameter_Value_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonSetAlarmNotification_Parameter_Value.Click
        Cursor.Current = Cursors.WaitCursor
        Dim ResultInt32 As Int32
        Dim ErrorString As String = ""
        ResultInt32 = ModuleNetworkNode.OPCSystemsComponent1.SetAlarmNotification_Parameter_Value(TextBoxParameter.Text, TextBoxValueToSet.Text, TextBoxAlarmNotificationGroup.Text, TextBoxNetworkNode.Text, ErrorString)
        If ResultInt32 = -1 Then
            LabelSetAlarmNotification_Parameter_ValueResult.Text = "OAS Service not reached."
        ElseIf ResultInt32 = 1 Then
            LabelSetAlarmNotification_Parameter_ValueResult.Text = "Parameter Successfully Updated."
        Else
            LabelSetAlarmNotification_Parameter_ValueResult.Text = ErrorString
        End If
    End Sub

C#

              private void ButtonGetAlarmNotification_Parameter_Values_Click(object sender, System.EventArgs e)
              {
                     System.Windows.Forms.Cursor.Current = Cursors.WaitCursor;
                     ComboBoxGetAlarmNotification_Parameter_Values.Items.Clear();
                     object[] ResultObjects = null;
//INSTANT C# NOTE: Commented this declaration since looping variables in 'foreach' loops are declared in the 'foreach' header in C#:
//                   object ResultObject = null;
                     string ResultString = null;
                     string ErrorString = "";
                     ResultObjects = ModuleNetworkNode.OPCSystemsComponent1.GetAlarmNotification_Parameter_Values(TextBoxAlarmNotificationGroup.Text, TextBoxNetworkNode.Text, ref ErrorString);
                     if (ErrorString == "Success")
                     {
                           foreach (object ResultObject in ResultObjects)
                           {
                                  try
                                  {
                                         if (ResultObject == null)
                                         {
                                                ResultString = "";
                                         }
                                         else
                                         {
                                                ResultString = ResultObject.ToString();
                                         }
                                         ComboBoxGetAlarmNotification_Parameter_Values.Items.Add(ResultString);
                                  }
                                  catch (Exception ex)
                                  {
                                         ComboBoxGetAlarmNotification_Parameter_Values.Items.Add("Error Converting Object");
                                  }
                           }
                           if (ComboBoxGetAlarmNotification_Parameter_Values.Items.Count > 0)
                           {
                                  ComboBoxGetAlarmNotification_Parameter_Values.SelectedIndex = 1;
                           }
                     }
                     else
                     {
                           MessageBox.Show(ErrorString, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                     }
              }

SaveAlarmNotificationConfiguration

The SaveAlarmNotificationConfiguration Subroutine saves the current Alarm Notification configuration to the specified file path.

NetworkNode is the name of the network node of the OAS Service to connect to. Leave blank for localhost connection.

Optional ErrorString will be set to Success when function is successful and an error message when in error.

VB

    Private Sub ButtonSaveAlarmNotificationConfiguration_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonSaveAlarmNotificationConfiguration.Click
        Cursor.Current = Cursors.WaitCursor
        Dim ErrorString As String = ""
        ModuleNetworkNode.OPCSystemsComponent1.SaveAlarmNotificationConfiguration(TextBoxFilePath.Text, TextBoxNetworkNode.Text, ErrorString)
        If ErrorString <> "Success" Then
            MessageBox.Show(ErrorString, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
        End If
    End Sub
              private void ButtonSetAlarmNotification_Parameter_Value_Click(object sender, System.EventArgs e)
              {
                     System.Windows.Forms.Cursor.Current = Cursors.WaitCursor;
                     Int32 ResultInt32 = 0;
                     string ErrorString = "";
                     ResultInt32 = ModuleNetworkNode.OPCSystemsComponent1.SetAlarmNotification_Parameter_Value(TextBoxParameter.Text, TextBoxValueToSet.Text, TextBoxAlarmNotificationGroup.Text, TextBoxNetworkNode.Text, ref ErrorString);
                     if (ResultInt32 == -1)
                     {
                           LabelSetAlarmNotification_Parameter_ValueResult.Text = "OAS Service not reached.";
                     }
                     else if (ResultInt32 == 1)
                     {
                           LabelSetAlarmNotification_Parameter_ValueResult.Text = "Parameter Successfully Updated.";
                     }
                     else
                     {
                           LabelSetAlarmNotification_Parameter_ValueResult.Text = ErrorString;
                     }
              }

LoadAlarmNotificationConfiguration

The LoadAlarmNotificationConfiguration Subroutine saves the current Alarm Notification configuration to the specified file path.

NetworkNode is the name of the network node of the OAS Service to connect to. Leave blank for localhost connection.

VB

    Private Sub ButtonLoadAlarmNotificationConfiguration_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonLoadAlarmNotificationConfiguration.Click
        Cursor.Current = Cursors.WaitCursor
        Dim ErrorString As String = ""
        ModuleNetworkNode.OPCSystemsComponent1.LoadAlarmNotificationConfiguration(TextBoxFilePath.Text, TextBoxNetworkNode.Text, ErrorString)
        If ErrorString <> "Success" Then
            MessageBox.Show(ErrorString, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
        End If
    End Sub

C#

              private void ButtonSaveAlarmNotificationConfiguration_Click(object sender, System.EventArgs e)
              {
                     System.Windows.Forms.Cursor.Current = Cursors.WaitCursor;
                     string ErrorString = "";
                     ModuleNetworkNode.OPCSystemsComponent1.SaveAlarmNotificationConfiguration(TextBoxFilePath.Text, TextBoxNetworkNode.Text, ref ErrorString);
                     if (ErrorString != "Success")
                     {
                           MessageBox.Show(ErrorString, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                     }
              }