SmcWSetBankInterpolation


Function

Set the interpolation type and the axis for the interpolation.

 

Format

Ret = SmcWSetBankInterpolation( Id , AxisNo , BankNo, InterType , InterAxis , Reserved)

 

Parameters

Id [ C, C++: short ] [ Python: ctypes.c_short ]

Specify the device ID retrieved by SmcWInit function.

 

AxisNo [ C, C++: short ] [ Python: ctypes.c_short ]

Specify axis number.

 

BankNo [ C, C++: short ] [ Python: ctypes.c_short ]

Specify bank number.

 

InterType [ C, C++: short ] [ Python: ctypes.c_short ]

Set interpolation type.

0

No interpolate

1

Straight line interpolation 1

2

Straight line interpolation 2

3

Circular arc interpolation

Straight line interpolation 1 : It is straight line interpolation operation of can Accel/Decel setting.
Straight line interpolation 2 : It is straight line interpolation operation of cannot Accel/Decel setting. Only the fixed velocity operation by the TargetSpeed is possible.
Circular arc interpolation :

Circle move by 2 Axis. Only the fixed velocity operation by the StartSpeed is possible.
Operation of cannot Accel/Decel setting.

Even if it is set to [0 : No interpolate], to specify the bits including the own axis always be InterAxis.

Example: To AxisNo=4, InterAxis=8[H]

 

InterAxis [ C, C++: short ] [ Python: ctypes.c_short ]

The axis for each interpolation is set including the own axis.

Axis No bits

[ 8 7 6 5][ 4 3 2 1 ]

Range (4 Axis board): from 0x3 to 0xF
Range (8 Axis board): from 0x3 to 0xFF

0

No interpolate

1

Interpolate

 

Reserved [ C, C++: short ] [ Python: ctypes.c_short ]

Set value to 0.

 

Return Value

Ret [ C, C++: long ] [ Python: ctypes.c_long ]

0

Terminated normally

Non-zero

Terminated abnormally

See also: Error code details

 

Remarks

Please specify more than two axes for InterAxis, except for InterType=0.
It cannot set more than the number of banks specified for BankNum by the SmcWSetBankNumber function to BankNo. A set content becomes invalid.

The axis that the axis for a specified interpolation is different from the first bank for the interpolation cannot be set since the second bank.
The setting of the axis for all interpolations of the interpolation type set before is canceled when setting it to the axis that has already been specified for an object axis again.

Please execute this function before executing the SmcWSetBankReady function.

In SMC-8DL/DF series, two four axis control chips (1-4 axes and 5-8 axes) are used.
The restriction matter of each board is as follows.

- SMC-2/4/8DL series

Because the bank cannot operate by SMC-2/4/8DL series, it is "BankNo=1" fixation.
It is possible to set it by one board only by one straight line interpolation setting of a couple.
In SMC-8DL series , It is possible interpolation setting over the chip.

SmcWSetSync function for a synchronous control or this function for the interpolation can be set by one board.
The axis for the interpolation can be included in the axis for a synchronous control.

- SMC-4DF series

A couple of straight line interpolation 1 can be set by one board.
A couple of circular arc interpolation can be set by one board.
In Straight line interpolation 1, the first axis of the axis for the interpolation becomes an interpolation control axis.

- SMC-8DF series

The setting of above-mentioned SMC-4DF series  two pairs can be used.
Straight line interpolation 1 and a circular arc interpolation that steps over the chip cannot be done.
When the straight line that steps over the chip is interpolated, Straight line interpolation 2 is using.
In Straight line interpolation 1, the first axis of the axis for the interpolation becomes an interpolation control axis.

 

- Circular arc interpolation

A circular arc interpolation can be specified only with SMC-4/8DF series.
It is a can not be designated in SMC-2/4/8DL series.
It is possible to select it by a couple only by two axis. One axis or 3,4 axis cannot be specified.
The first axis of the axis for the interpolation is X axis, and the other side is Y axis. X axis becomes an interpolation control axis.

Please specify the bit including the axis for InterAxis even when InterType=0(No interpolate) and is set.

If the device is in operation, the function cannot be performed.

 

See Also

SmcWGetBankInterpolation