SmcWSetSync


Function

Set the synchronous control.

 

Format

Ret = SmcWSetSync( Id , SyncAxis , SyncChip , SyncBoard )

 

Parameters

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

Specify the device ID retrieved by SmcWInit function.

 

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

The axis for a synchronous control is specified.
AxisNo bit

[ 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

Not synchronize.

1

Synchronize.

Example

axis 1 and axis 3 set ON(0x5) then Synchronize axis 1 and axis 3.

 

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

The interchip synchronization is set.

0

Not synchronize

1

Synchronize

 

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

The synchronization between boards is set.

0

Not synchronize

1

It synchronizes with another board that connects board CN2 and the cable.

2

It synchronizes with another board that connects board CN3 and the cable.

3

It synchronizes with another board that connects board CN2 and the cable

It synchronizes with another board that connects board CN3 and the cable

 

Return Value

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

0

Terminated normally

Non-zero

Terminated abnormally

See also: Error code details

 

Initial Value

SyncAxis

0 : Not synchronize

SyncChip

1 : Synchronize

SyncBoard

3 : It synchronizes with another board that connects board CN2 and the cable

It synchronizes with another board that connects board CN3 and the cable

 

Remarks

In SMC-8DL/DF series, two four axis control chips (1-4 axes and 5-8 axes) are used.
SMC-8DL series cannot separate a synchronous connection of interchip though SMC-8DF series can separate a synchronous connection of interchip by the setting.

-SMC-2/4/8DL series

SyncChip = 1: Synchronize(default).

It becomes the above-mentioned, set fixation. Therefore, only a couple of synchronous setting can be set by one board.
All axis selected with SyncAxis become axis for synchronization.

SyncBoard = 0 Not synchronize:

It becomes the above-mentioned, set fixation. The synchronous function between boards is not provided in this board.

 

-SMC-4DF series

SyncChip = 1: Synchronize(default).

It becomes the above-mentioned, set fixation. Therefore, only a couple of synchronous setting can be set by one board.
All axis selected with SyncAxis become axis for synchronization.

SyncBoard =

1:It synchronizes at this setting axis 1-4 and another board connected with CN2.
2:It synchronizes at this setting axis 1-4 and another board connected with CN3.
3:It synchronizes at this setting axis 1-4 and another board connected with CN2 and CN3.

-SMC-8DF series

SyncChip = 0: Not Synchronize.

At the above-mentioned setting, axis 1-4 and axis 5-8 make two synchronous settings in the board.

Example

axis 1 , 3 , 5 , 7 set ON ( SyncAxis 0x55 ) then Synchronize axis 1, 3, 5, 7.
When you execute same period start function (SmcWSyncMotionStart) specifying axis 1 after the SmcWMotionStart function is executed for each axis, and it makes it to the synchronous start waiting state

Not Synchronize( SyncChip=0 ) : Operation beginning of axis 1 and axis 3 simultaneously
Synchronize( SyncChip=1 ) : Operation beginning of axis 1, axis 3, axis 5, and axis 7 simultaneously

 

SyncBoard =

1 : It synchronizes at this setting axis 5-8 and another board connected with CN2.
It synchronizes when setting as SyncChip=1 axis 1-8 and another board connected with CN2.

2 : It synchronizes at this setting axis 1-4 and another board connected with CN3.
It synchronizes when setting as SyncChip=1 axis 1-8 and another board connected with CN3.

3 : It synchronizes because of both settings of ..this setting.. ..above-mentioned..
1 and 2. It synchronizes when setting as SyncChip=1 axis 1-8 and another board connected with CN2 and CN3.

It becomes a synchronous start waiting state by executing the SmcWMotionStart function after this function is executed.

The synchronous start waiting state can be confirmed by the SmcWGetPulseStatus function.
It makes an error of this function if the axis specified with SyncAxis has not executed the SmcWSetInitParam function.

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

 

See Also

SmcWGetSync