Simultaneous start of multiple positioning tables
This instruction starts multiple positioning tables simultaneously. The numbers of the positioning tables are specified by s1_dutMultipleChannels. Each positioning table controls a single axis as specified with Configurator PMX. The tables of the E point control, P point control and C point control can be started.
Input
The starting area of the data register storing the data table numbers to be started simultaneously
If an operand is an out-of-range value, an operation error occurs.
The stop operation has priority when the conditions of system stop, emergency stop, limit stop and deceleration stop are satisfied.
An operation error occurs when the system register of a specified channel is other than Pulse output [Table operation].
Only when all the specified channels can be started, they are executed simultaneously. When the status of any of the specified channels is "busy", the positioning tables are not started simultaneously and the process is terminated. Use FP_POS_UNIT_GET_STATUS to find out the status of each channel.
Use F380_Positioning_Start to start linear interpolation. When the table of the interpolation axis control has been specified with F383_Positioning_StartMultiple, a self-diagnostic error (positioning operation error) occurs.
s1_dutMultipleChannels will start the specified positioning table number of each channel.
You can only specify positioning tables performing single-axis control.
The valid range for positioning table numbers is 0–20. If 0 is specified as the positioning table number, the channel is excluded from the simultaneous start.
if the area specified using the index modifier exceeds the limit.
if the channel or positioning table number is outside the permissible range.
if Pulse output [Table operation] has not been set in the system register.
if the area specified using the index modifier exceeds the limit.
if the channel or positioning table number is outside the permissible range.
if Pulse output [Table operation] has not been set in the system register.
All input and output variables used for programming this function have been declared in the POU header. The same POU header is used for all programming languages.
VAR
bStartMultiple: BOOL:=FALSE;
dutChannels: F383_MultipleChannels_DUT;
END_VAR
When the variable bStartMultiple changes from FALSE to TRUE, the function is carried out.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 5 ;
NETWORK_BODY
B(B_F,F383_Positioning_StartMultiple!,,11,1,25,5,,?DEN?Ds1_dutMultipleChannels?AENO);
B(B_CONTACT,,bStartMultiple,4,2,6,4,);
B(B_VARIN,,dutChannels,9,3,11,5,);
L(1,3,4,3);
L(1,0,1,5);
L(6,3,11,3);
END_NETWORK_BODY
END_NET_WORK
END_BODY
IF (bStartMultiple) then
F383_Positioning_StartMultiple(s1_dutMultipleChannels := dutChannels);
END_IF;