立ち上がりエッジと立ち下がりエッジは、ホスト コンピューターを開発するときに非常に頻繁に使用され、メッセージ トリガー、パルス ファイリングなどで一般的に使用されます。しかし、C# では、PLC の立ち上がりエッジや立ち下がりエッジのような命令はなく、独自のコーディングを実装する必要があります。
最初に、「GetPN」という名前の立ち上がりエッジと立ち下がりエッジを生成するためのクラスを作成します。
namespace Test
{
class GetPN
{
bool _P = false;
bool _N = false;
public bool P(bool Value)
{
if (Value && !_P)
{
_P = true;
return true;
}
if (!Value)
_P = false;
return false;
}
public bool N(bool Value)
{
if (!Value && _N)
{
_N = false;
return true;
}
if (Value)
_N = true;
return false;
}
}
}
上記の例では、2 つのボタンを使用して信号のセット操作とリセット操作をシミュレートし、スレッドで GetP メソッドと GetN メソッドを呼び出して、立ち上がりエッジと立ち下がりエッジをそれぞれキャプチャします。フォームのタイトル テキストを使用して、信号の変化がキャプチャされたときにプロンプトを表示します。