|
@@ -117,6 +117,7 @@ namespace VirgoRT.Devices
|
|
|
private readonly int _stopButtonAutoResetTime = 1000;
|
|
private readonly int _stopButtonAutoResetTime = 1000;
|
|
|
|
|
|
|
|
private Position _currentTarget = Position.Invalid;
|
|
private Position _currentTarget = Position.Invalid;
|
|
|
|
|
+ private Position _currentPos = Position.Invalid;
|
|
|
|
|
|
|
|
long _timeout = 10000;
|
|
long _timeout = 10000;
|
|
|
private bool _bAlarmReported = false;
|
|
private bool _bAlarmReported = false;
|
|
@@ -143,13 +144,13 @@ namespace VirgoRT.Devices
|
|
|
{
|
|
{
|
|
|
get
|
|
get
|
|
|
{
|
|
{
|
|
|
- if (_diP1.Value && _diP2.Value == false && _diP3.Value == false)
|
|
|
|
|
|
|
+ if (_currentPos == Position.position1 && _diP1.Value && _diP2.Value == false && _diP3.Value == false)
|
|
|
return MovementPosition.Up;
|
|
return MovementPosition.Up;
|
|
|
- else if (_diP1.Value == false && _diP2.Value && _diP3.Value == false)
|
|
|
|
|
|
|
+ else if (_diP1.Value == false && _currentPos == Position.position2 && _diP2.Value && _diP3.Value == false)
|
|
|
return MovementPosition.Middle;
|
|
return MovementPosition.Middle;
|
|
|
- else if (_diP1.Value == false && _diP2.Value == false && _diP3.Value)
|
|
|
|
|
|
|
+ else if (_diP1.Value == false && _diP2.Value == false && _currentPos == Position.position3 && _diP3.Value)
|
|
|
return MovementPosition.Down;
|
|
return MovementPosition.Down;
|
|
|
- else if (_diOrigin.Value)
|
|
|
|
|
|
|
+ else if (_currentPos == Position.origin && _diOrigin.Value)
|
|
|
return MovementPosition.Origin;
|
|
return MovementPosition.Origin;
|
|
|
|
|
|
|
|
return MovementPosition.Unknown;
|
|
return MovementPosition.Unknown;
|
|
@@ -345,6 +346,7 @@ namespace VirgoRT.Devices
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
_currentTarget = position;
|
|
_currentTarget = position;
|
|
|
|
|
+ _currentPos = position;
|
|
|
sw.Restart();
|
|
sw.Restart();
|
|
|
switch (position)
|
|
switch (position)
|
|
|
{
|
|
{
|