| DreipunktregelungEine Lampe an Out.O7 sitzt auf auf einem Schneckenantrieb mit Motor an Mot.M1. Sie soll den Photowiderstand an Unv.I4 mit einem vorgegeben SollWert so beleuchten, daß der Meßwert an Unv.I4 stets innerhalb vorgegebener Grenzen (LimitHigh / LimitLow) bleibt.
Lösung mit Klasse FishFaceImports FishFaceTXPublic Class DreipunktunvVB Dim tx As New FishFace() Dim ReglerMotor As Mot = Mot.M1 Dim LichtSensor As Unv = Unv.I4 Dim LichtQuelle As Out = Out.O7 Dim Sollwert, LimitHigh, LimitLow, ActualValue As Integer Private Sub numSollWert_ValueChanged(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles numSollWert.ValueChanged Sollwert = numSollWert.Value LimitHigh = Sollwert + 100 LimitLow = Sollwert - 100 End Sub Private Sub Action() numSollWert.Value = 700 tx.SetLamp(LichtQuelle, Dir.On) tx.Pause(1234) Do ActualValue = tx.GetAnalog(LichtSensor) lblIstwert.Text = ActualValue.ToString() If ActualValue < LimitLow Then tx.SetMotor(ReglerMotor, Dir.Right, 400) ElseIf ActualValue > LimitHigh Then tx.SetMotor(ReglerMotor, Dir.Left, 400) Else tx.SetMotor(ReglerMotor, Dir.Off) End If tx.Pause(111) Loop Until tx.Finish() End Sub .......... End Class Der Sollwert wird durch das Control numSollwert (NumericUpDown) in der Ereignisroutine numSollwert_ValueChanged samt Grenzwerten eingestellt. In der Click-Routine des Buttons cmdAction läuft in
einer Endlosschleife das eigentliche Programm : Stand : 03.12.2009 |