diff -r 1d113faf4433 -r 7c31fab22c74 etherlab/plc_ds402node.c --- a/etherlab/plc_ds402node.c Thu Feb 23 15:48:19 2012 +0100 +++ b/etherlab/plc_ds402node.c Thu Feb 23 23:34:40 2012 +0100 @@ -131,5 +131,10 @@ break; } - *(__DS402Node_%(location)s.TargetPosition) = (IEC_DINT)(__DS402Node_%(location)s.axis->PositionSetPoint * __DS402Node_%(location)s.axis->RatioNumerator / __DS402Node_%(location)s.axis->RatioDenominator); + if (__DS402Node_%(location)s.axis->CSP && *(__DS402Node_%(location)s.ModesOfOperationDisplay) == 0x08) { + *(__DS402Node_%(location)s.TargetPosition) = (IEC_DINT)(__DS402Node_%(location)s.axis->PositionSetPoint * __DS402Node_%(location)s.axis->RatioNumerator / __DS402Node_%(location)s.axis->RatioDenominator); + } + else { + *(__DS402Node_%(location)s.TargetPosition) = *(__DS402Node_%(location)s.ActualPosition); + } }