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