F175_PulseOutput_Linear

Interpolazione lineare

Gli impulsi vengono emessi su due canali contemporaneamente sulla base dei parametri impostati nella DUT associata, in modo che il percorso per il raggiungimento della posizione target formi una linea retta. Gli impulsi vengono emessi dal canale specificato quando il flag di controllo per tale canale è FALSE e la condizione di esecuzione è TRUE.

Parametri

Ingresso

n_iPulseOutputChannelcostante

Canale uscita ad impulsi:

FP-XH C30 T/P: 0–3

FP-XH C60 T/P: 0–5

FPS: 0, 2

FP-X R: 0, 1

FP-XC14T: 0, 1, 2

FP-X C30T/C60T: 0, 1, 2, 3

FP0R: 0, 1, 2, 3

Per l'interpolazione usare a coppie canale 1 e 2 oppure canale 2 e 3. Si può indicare solo 0 oppure 2 (per C14T: solo 0).

Ingresso/uscita

s_dutDataTable (DUT)

Indirizzo di partenza dell'area contenente la tabella dati

FPS, FP-X: F175_PulseOutput_Linear_DUT_0

FP0R: F175_PulseOutput_Linear_DUT_1

Descrizione per FP-Sigma, FP-X

Utilizzare la seguente DUT predefinita: F175_PulseOutput_Linear_DUT_0

Nella DUT possono essere specificati i seguenti parametri:

  • Codice di controllo
  • Velocità iniziale e finale
  • Velocità target
  • Tempo di accelerazione/decelerazione
  • Valore target asse X
  • Valore target asse Y

I seguenti parametri per ogni asse vengono calcolati all'esecuzione dell'istruzione e memorizzati nell'area riservata ai risultati dei calcoli della DUT.

  • Velocità iniziale e finale asse X
  • Velocità target asse X
  • Velocità iniziale e finale asse Y
  • Velocità target asse Y
  • Campo di frequenza asse X
  • Campo di frequenza asse Y
  • Numero di passi accelerazione/decelerazione asse X
  • Numero di passi accelerazione/decelerazione asse Y

Caratteristiche dell’uscita ad impulsi

Valore target asse X (canale 0): 5000

Valore target asse Y (canale 2) (FP-X: canale 1): 2000

I due assi sono controllati in modo tale da ottenere un moto lineare fino alla posizione target.

  • Il valore target per ciascun asse deve essere compreso nell'intervallo -8388608–8388607. Quando questa istruzione viene utilizzata in combinazione con altre istruzioni uscita ad impulsi, p.es. F171_PulseOutput_Trapezoidal, il valore target in queste istruzioni deve essere compreso nel medesimo intervallo.
  • In caso di utilizzo in applicazioni di precisione, è necessario effettuare test run con la macchina vera e propria.
  • Se sia il programma principale sia il programma di interrupt contengono un codice per lo stesso canale, essi non devono poter esser eseguiti contemporaneamente.
  • FP-X: Mentre viene eseguita un'istruzione uscita ad impulsi e gli impulsi vengono emessi, il flag di controllo dell'uscita ad impulsi (p.es. sys_bIsPulseChannel0Active) del rispettivo canale è TRUE. Finché questo flag è TRUE non può essere eseguita nessun'altra istruzione uscita ad impulsi.

  • FPS: Il flag di controllo del contatore veloce (p.es. sys_bIsHscChannel0ControlActive) e il flag di controllo dell’uscita ad impulsi (p.es. sys_bIsPulseChannel0Active) vengono allocati allo stesso numero di flag interno speciale (p.es. R903A). Pertanto, quando viene eseguita un'istruzione contatore veloce o un'istruzione uscita ad impulsi, il flag di controllo del contatore veloce (p.es. sys_bIsHscChannel0ControlActive) e il flag di controllo dell'uscita ad impulsi (p.es. sys_bIsPulseChannel0Active) per il canale utilizzato sono TRUE. Finché questo flag è TRUE non può essere eseguita nessun’altra istruzione contatore veloce o istruzione uscita ad impulsi.

  • FPS: L’esecuzione dell’istruzione di controllo di interpolazione circolare F176_PulseOutput_Center imposta il flag controllo interpolazione circolare (sys_bIsCircularInterpolationActive) su TRUE. Lo stato di questo flag viene mantenuto fino a quando viene raggiunto il valore target (anche se la condizione di esecuzione non è più TRUE). Durante questo lasso di tempo non è possibile eseguire altre istruzioni uscita ad impulsi

  • FPS: Nei registri di sistema impostare un contatore veloce assegnato ad un canale di uscita ad impulsi su "Non utilizzato".

  • FP-X: Nei registri di sistema impostare "uscita ad impulsi" per il canale desiderato.

  • Durante il lavoro ai programmi nella modalità operativa RUN l’uscita ad impulsi si arresta, ma riprende dopo che sono state scaricate le modifiche al programma.
  • Si raccomanda vivamente di incorporare un'opzione di stop uscita impulsi nel proprio programma di posizionamento.

  • Lo stato del flag di controllo del contatore veloce o del flag di controllo dell'uscita ad impulsi può variare durante lo svolgimento di una scansione. For example, if the number of received bytes is read more than once different statuses may exist within one scan.

Descrizione per FP0R

Utilizzare la seguente DUT predefinita: F175_PulseOutput_Linear_DUT_1

Nella DUT possono essere specificati i seguenti parametri:

  • Codice di controllo
  • Velocità iniziale e finale
  • Velocità target
  • Tempo di accelerazione
  • Tempo di decelerazione
  • Valore target asse X
  • Valore target asse Y

I seguenti parametri per ogni asse vengono calcolati all'esecuzione dell'istruzione e memorizzati nell'area riservata ai risultati dei calcoli della DUT.

  • Velocità iniziale e finale asse X
  • Velocità target asse X
  • Velocità iniziale e finale asse Y
  • Velocità target asse Y

Caratteristiche dell’uscita ad impulsi

Valore target asse X (canale 0): 5000

Valore target asse Y (canale 1): 2000

Gli impulsi vengono emessi dall'asse X (canale 0) e dall'asse Y (canale 1), in modo tale che la velocità iniziale sia 500Hz, la velocità target 5kHz e il tempo di accelerazione e di decelerazione 300ms. I due assi sono controllati in modo tale da ottenere un moto lineare fino alla posizione target.

Gli impulsi vengono emessi utilizzando un duty ratio del 25%Con la tipologia di uscita ad impulsi “impulsi/direzione,” gli impulsi sono emessi all’incirca 300ms dopo che è stato emesso il segnale della direzione; contemporaneamente viene tenuto conto delle caratteristiche del motore.

  • L'emissione di impulsi si arresta una volta raggiunto il valore target.

  • Il valore target per ciascun asse deve essere compreso nell'intervallo -8388608–8388607. Quando questa istruzione viene utilizzata in combinazione con altre istruzioni uscita ad impulsi, p.es. F171_PulseOutput_Trapezoidal, il valore target in queste istruzioni deve essere compreso nel medesimo intervallo.
  • In caso di utilizzo in applicazioni di precisione, è necessario effettuare test run con la macchina vera e propria.
  • Se sia il programma principale sia il programma di interrupt contengono un codice per lo stesso canale, essi non devono poter esser eseguiti contemporaneamente.
  • Mentre viene eseguita un'istruzione uscita ad impulsi e gli impulsi vengono emessi, il flag di controllo dell'uscita ad impulsi (p.es. sys_bIsPulseChannel0Active) del rispettivo canale è TRUE. Finché questo flag è TRUE non può essere eseguita nessun'altra istruzione uscita ad impulsi.
  • Durante il lavoro ai programmi nella modalità operativa RUN l’uscita ad impulsi si arresta, ma riprende dopo che sono state scaricate le modifiche al programma.
  • Si raccomanda vivamente di incorporare un'opzione di stop uscita impulsi nel proprio programma di posizionamento.

  • Lo stato del flag di controllo del contatore veloce o del flag di controllo dell'uscita ad impulsi può variare durante lo svolgimento di una scansione. For example, if the number of received bytes is read more than once different statuses may exist within one scan.

Esempio

Intestazione del POU

Tutte le variabili di ingresso e uscita utilizzate per programmare questa funzione sono state dichiarate nell'intestazione del POU.La stessa intestazione del POU è utilizzata per tutti i linguaggi di programmazione.

	VAR
		bTrigger: BOOL:=FALSE;
		dutLinearData: F175_PulseOutput_Linear_DUT_0:=dwControlCode := 16#1000,
diInitialAndFinalSpeed := 500,
diMaximumSpeed := 5000,
diAccelerationAndDecelerationTime := 300,
diTargetValue_X := 5000,
diTargetValue_Y := 2000;
			(*Control code:
Digit 3: 1=Duty ratio 25%
Digit 2: 0=Fixed
Digit 1: 0=Relative value control 
Digit 0: 0=CW/CCW
*)
		@'': @'';
	END_VAR

Corpo LD

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 6 ;
        NETWORK_BODY
B(B_CONTACT,,bTrigger,4,2,6,4,R);
B(B_VARIN,,dutLinearData,11,4,13,6,);
B(B_VARIN,,0,11,3,13,5,);
B(B_F,F175_PulseOutput_Linear!,Instance,13,1,28,6,,?DEN?Hn_iPulseOutputChannel?Ds_dutDataTable?As_dutDataTable?AENO);
L(1,3,4,3);
L(6,3,13,3);
L(1,0,1,6);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Corpo ST

IF DF(bTrigger) then
    F175_PulseOutput_Linear(n_iPulseOutputChannel := 0, 
      s_dutDataTable := dutLinearData);
END_IF;

L'ultima revisione: 2023-03-15Feedback su questa paginaPanasonic hotline