Function
Set the synchronous control.
Format
Ret = SmcWSetSync( Id , SyncAxis , SyncChip , SyncBoard )
Parameters
Id
[ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short
]
SSpecify the Deice ID retrieved by SmcWInit function.
SyncAxis
[ VB.NET: Short ] [ C, C++: short ] [ 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
[ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short
]
The interchip synchronization is set.
0 |
Not synchronize |
1 |
Synchronize |
SyncBoard
[ VB.NET: Short ] [ C, C++: short ] [ 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 [ VB.NET: Integer ] [ C, C++: long ] [ C#: int ] [ 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.
t 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