RemoteVariableSynchronizer() constructor

Erstellen Sie ein
RemoteVariableSynchronizer
-Objekt, das eine Liste mit Projektvariablen enthalten kann, die mit den entsprechenden Feldvariablen synchronisiert bleiben müssen.
public RemoteVariableSynchronizer()
WICHTIG: Das
RemoteVariableSynchronizer
-Objekt muss innerhalb der NetLogic als Mitglied der Klasse deklariert werden.

Konstruktor mit Standardabfragezeit

Im nachstehenden Beispiel wird ein
variableSynchronizer
-Objekt erstellt, um den Wert einer
Speed
-Projektvariablen mit dem Wert einer Feldvariable zur Identifizierung der Motordrehzahl synchronisiert zu halten. Die vom
motorSpeed
-Objekt dargestellte Projektvariable wird über die
Add()
-Methode zum
variableSynchronizer
-Objekt hinzugefügt.
Wenn sich der Wert der Feldvariable ändert, wird die
motorSpeed_VariableChange
-Methode ausgeführt. Wenn der Wert von
motorSpeed
(der Feldvariable) größer als 200 ist, wird eine Warnmeldung generiert. Die Standardabfragezeit ist auf volle Geschwindigkeit festgelegt.
private void Start() { motorSpeed = LogicObject.Owner.GetVariable("Speed");
variableSynchronizer = new RemoteVariableSynchronizer();
variableSynchronizer.Add(motorSpeed); motorSpeed.VariableChange += MotorSpeed_VariableChange; } private void MotorSpeed_VariableChange(object sender, VariableChangeEventArgs e) { if (motorSpeed.Value > 200) { Log.Warning("Speed limit reached!"); } } private IUAVariable motorSpeed; private RemoteVariableSynchronizer variableSynchronizer;
In der Methode
Stop()
wird durch Aufrufen der Methode
Dispose()
die Beendigung der Synchronisierung ausgelöst, wenn der übergeordnete Knoten des NetLogic-Objekts entfernt wird.

Konstruktor mit benutzerdefinierter Abfragezeit

Im folgenden Beispiel wird die Abfragezeit für
RemoteVariableSynchronizer
auf
5000
Millisekunden festgelegt.
public override void Start() { var variable1 = Project.Current.Get<IUAVariable>("Model/Variable1"); variable1.VariableChange += Variable1_VariableChange;
synchronizer = new RemoteVariableSynchronizer(TimeSpan.FromMilliseconds(5000));
synchronizer.Add(variable1); } private void Variable1_VariableChange(object sender, VariableChangeEventArgs e) { Log.Info($"Variable1 {e.NewValue}"); } public override void Stop() { synchronizer.Dispose(); var variable1 = Project.Current.Get<IUAVariable>("Model/Variable1"); variable1.VariableChange -= Variable1_VariableChange; } RemoteVariableSynchronizer synchronizer;
Rückmeldung geben
Haben Sie Fragen oder Feedback zu dieser Dokumentation? Bitte geben Sie hier Ihr Feedback ab.