こんにちは、アドバイスが必要です。C# を使用してデスクトップ アプリケーション (Winform) を開発しています。フォームがあり、OPC (他のファイル) という名前の別のクラスがあります。
これはOPCクラスのコードです
OPC クラス
namespace BarCodePrint.Class
{
public class OPC
{
public OPCServer ConnectedOPCServer { get; set; }
public OPCGroups ObjOPCGroup {get; set;}
public OPCGroup ConnectedOPCGroup { get; set; }
public int _numItems { get; set; }
public string _nodeName { get; set; }
Array _OPCItemIDs;
Array _ItemServerHandles;
Array _ItemServerErrors;
Array _ClientHandles;
Array _RequestedDataTypes;
Array _AccessPaths;
Array _WriteItems;
public OPC()
{
//Code
}
public void OPCConnect()
{
//Code
}
public void OPCDisconnect()
{
//Code
}
public void AddGroupToOPC()
{
//Code
}
public void AddItemsToOPC()
{
//Code
}
public void Write()
{
//Code
}
private void ConnectedOPCGroup_DataChange(int TransactionID, int NumItems, ref Array ClientHandles, ref Array ItemValues, ref Array Qualities, ref Array TimeStamps)
{
try
{
for (int i = 1; i <= NumItems; i++)
{
if ((Convert.ToInt32(ClientHandles.GetValue(i)) == 1))
{
//Do something
}
}
}
catch (Exception exc)
{
//HandleException
}
}
}
}
メソッドConnectedOPCGroup_DataChangeは、デバイスで値が変更されるたびに実行されます。私がやりたいのは、値が変更されてその値がフォームに送信されたときです。問題は、イベントを使用する必要があるかどうかです。またはフォームの同じファイルに私の OPC クラスを入れますか? または私は他の方法でそれを行うことができますか?
よく説明していただければ幸いです。
ありがとう