Data Change Event
VB
Try
' ******************************
' * Initialize Controller and Tag
Dim MyPLC As New Logix.Controller("192.168.1.32")
Dim WithEvents MyTag As New Logix.Tag("MyIntTag")
' *****************************
' * add event handler
AddHandler MyTag.Changed, AddressOf MyTag_Changed
' ****************************
' * read tag
MyPLC.ReadTag(MyTag)
Catch ex As System.Exception
Console.WriteLine(ex.Message)
End Try
{...elsewhere in code...}
' *********************************
' * event handler
Private Sub MyTag_Changed(ByVal sender As Object, ByVal e As System.EventArgs)
Try
Dim theTag as Logix.Tag
Dim args as Logix.DataChangeEventArgs
' ***************************
' * Tag that caused the event
theTag = sender
' ***************************
' * event argument parameters
args = e
' ***************************
' * process the event data
If ResultCode.QUAL_GOOD = args.QualityCode Then
Console.WriteLine(Convert.ToString(args.Value))
Console.WriteLine(args.TimeStamp.ToString())
Else
Console.WriteLine(args.ErrorString)
End If
Console.WriteLine(args.QualityString)
Catch ex As System.Exception
Console.WriteLine(ex.Message)
End Try
End Sub
C#
try
{
///////////////////////////
// initialize controller and tag
Logix.Controller MyPLC = new Logix.Controller("192.168.1.32");
Logix.Tag MyTag = new Logix.Tag("MyIntTag");
///////////////////////////
// add event handler
MyTag.Changed +=new EventHandler(MyTag_Changed);
///////////////////////////
// read the tag
MyPLC.ReadTag(MyTag);
}
catch(System.Excpetion ex)
{
Console.WriteLine(ex.Message);
}
{...elsewhere in code...}
/////////////////////////////////////
// EVENT HANDLER
private void MyTag_Changed(object sender, EventArgs e)
{
try
{
//////////////////////////////////////
// Tag that caused the event
Logix.Tag theTag = (Logix.Tag)sender;
//////////////////////////////////////
// event argument parameters
Logix.DataChangeEventArgs args = (Logix.DataChangeEventArgs)e;
/////////////////////////////////////
// process the event data
if(ResultCode.QUAL_GOOD == args.QualityCode)
{
Console.WriteLine(Convert.ToString(args.Value));
Console.WriteLine(args.TimeStamp.ToString());
}
else
Console.WriteLine(args.ErrorString);
Console.WriteLine(args.QualityString);
}
catch (System.Exception ex)
{
Console.WriteLine(ex.Message);
}
}
Tag Class | Logix Namespace | ReadTag | WriteTag | Active | GroupRead | GroupWrite