Steigende und fallende Flanken werden sehr häufig verwendet, wenn wir den Host-Computer entwickeln, und werden häufig beim Auslösen von Nachrichten, beim Speichern von Impulsen usw. verwendet. Aber in C# gibt es keine Anweisungen wie die steigende Flanke und die fallende Flanke in der SPS, und wir müssen unsere eigene Codierung implementieren.
Zuerst erstellen wir eine Klasse zum Generieren steigender und fallender Flanken mit dem Namen "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;
}
}
}
Im obigen Beispiel verwenden wir zwei Schaltflächen, um die Setz- und Rücksetzoperationen des Signals zu simulieren, und rufen dann die GetP- und GetN-Methoden im Thread auf, um die steigenden bzw. fallenden Flanken zu erfassen. Verwenden Sie den Titeltext auf dem Formular, um aufzufordern, wann die Signaländerung erfasst wird.