[r4]: / trunk / SM3_Drive_RaspiStepper / SM3_Drive_RaspiStepper / Function Blocks / AXIS_REF_RaspiStepper / process IO data / ProcessInputs / svnobj  Maximize  Restore  History

Download this file

26 lines (25 with data), 3.3 kB

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
METHOD ProcessInputs : BOOL
VAR
	{attribute 'noinit'}
	di: DINT;
	dwActPos: DWORD;
dwActPos := sc.dwActPos;
IF dwEncoderCounterModulo<>0 THEN
	di := DWORD_TO_DINT(dwActPos - dwOldActPosition);
	IF di > DWORD_TO_DINT(dwEncoderCounterModulo/2) THEN
		dwPosOffset := dwPosOffset - dwEncoderCounterModulo;
	ELSIF di < -DWORD_TO_DINT(dwEncoderCounterModulo/2) THEN
		dwPosOffset := dwPosOffset + dwEncoderCounterModulo;
	END_IF
	dwOldActPosition := dwActPos;
	dwActPosition := dwPosOffset + dwActPos;
ELSE
	dwActPosition := dwActPos;
END_IF
IF iMovementType = 0 THEN
	fActPosition := SMC_ConvertActPositionForResiduals(dw:=dwActPosition, pDrive:=this);
IF bErrorAckn THEN
	bError := FALSE;
	bErrorAckn:=FALSE;
bRegulatorRealState := sc.bRegulatorOn;
bDriveStartRealState := bDriveStart;