F383_Positioning_StartMultiple

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.

Parameters

Input

s1_dutMultipleChannels (F383_MultipleChannels_DUT)

The starting area of the data register storing the data table numbers to be started simultaneously

Remarks

  • 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.

Error flags

sys_bIsOperationErrorHold (turns to TRUE and remains TRUE)
  • 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.

sys_bIsOperationErrorNonHold (turns to TRUE for one scan)
  • 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.

Example

POU header

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

POU body

When the variable bStartMultiple changes from FALSE to TRUE, the function is carried out.

LD body

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

ST body

IF (bStartMultiple) then
    F383_Positioning_StartMultiple(s1_dutMultipleChannels := dutChannels);
END_IF;

Modified on: 2024-03-06Feedback on this pagePanasonic hotline