F174_PulseOutput_DataTable

Controllo mediante tabella di punti

Questa istruzione effettua un controllo senza rampe secondo i parametri nella DUT specificata con un numero arbitrario di velocità e valori target differenti. Gli impulsi vengono emessi dal canale specificato quando il flag di controllo per tale canale è FALSE e la condizione di esecuzione è TRUE.

Parametri

Ingresso

s_dutDataTable (ANY_DUT)

Indirizzo di partenza dell'area contenente la tabella dati

Esempio: F174_PulseOutput_DataTable_8_Values_DUT

n_iPulseOutputChannel* (costante decimale)

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

Note

Creare la propria DUT usando la seguente DUT come modello: F174_PulseOutput_DataTable_8_Values_DUT

Nella DUT possono essere specificati i seguenti parametri:

  • Codice di controllo

  • Frequenza 1

  • Valore target 1

  • Frequenza 2

  • Valore target 2

  • ...

  • Frequenza n

  • Valore target n

  • Fine tabella

Caratteristiche dell’uscita ad impulsi

  1.  (1) Condizione di esecuzione
  2.  (2) Flag di controllo dell'uscita ad impulsi

x Valore corrente del contatore veloce (ammontare movimento)

  • Vengono emessi impulsi alla frequenza specificata fino al raggiungimento del valore nominale. Poi l'uscita ad impulsi viene proseguita con il secondo valore di frequenza finchè non viene raggiunto il secondo valore nominale e così via.

  • L'uscita ad impulsi si arresta una volta raggiunto l'ultimo valore nominale.

  • Una frequenza pari a 0 indica la frequenza finale e arresta l'emissione di impulsi.

Informazione generale di programmazione
  • FP-X, FP0R: 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.

  • Se il valore della prima frequenza specificata è fuori intervallo, si verifica un errore di funzionamento. (Se il valore della prima frequenza è 0, il funzionamento si arresta senza che siano stati emessi impulsi.)

  • Se il valore della seconda frequenza specificata è fuori intervallo oppure 0, l'emissione di impulsi si arresta.

  • Se il valore target è fuori intervallo, il numero di impulsi emessi può essere differente rispetto al valore specificato.

  • FP0R: Se uno dei valori target non è nella direzione di movimento, l'emissione di impulsi si arresta.

  • FPS, FP-X: Se uno dei valori target non è nella direzione di movimento, il conteggio continua all'infinito.

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

  • FPS, FP-X: Se viene eseguito un interrupt periodico o un programma di interrupt per contatore veloce, oppure se la funzione PLC link viene utilizzata allo stesso momento, è opportuno utilizzare una frequenza di 80kHz o inferiore.

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

Esempio

Variabili globali

Nella lista variabili globali si definiscono variabili alle quali possono accedere tutti i POU del progetto.

DUT

La DUT F174_PulseOutput_DataTable_8_Values_DUT è predefinita nella “FP library” e può essere utilizzata come 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_EXTERNAL
		X0_bMotorSwitch: BOOL:=FALSE;
			(*at X0*)
	END_VAR
	VAR 
		dutDataTable4: F174_DUT:=ControlCode := 16#1200,
Frequency1 := 1000,
TargetValue1 := 1000,
Frequency2 := 2500,
TargetValue2 := 2000,
Frequency3 := 5000,
TargetValue3 := 5000,
Frequency4 := 1000,
TargetValue4 := 2000,
Termination := 0;
			(*Control code:
Digit 3: 1=Duty ratio 25%
Digit 2: 2=Frequency range 48Hz-100kHz
Digit 1: 0=Relative value control
Digit 0: 0=CW*)
		@'': @'';
	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_F,F174_PulseOutput_DataTable!,Instance,13,0,27,5,,?DEN?Ds_dutDataTable?Hn_iPulseOutputChannel?AENO);
B(B_VARIN,,dutDataTable4,11,2,13,4,);
B(B_VARIN,,0,11,3,13,5,);
B(B_CONTACT,,X0_bMotorSwitch,5,1,7,3,R);
L(1,2,5,2);
L(7,2,13,2);
L(1,0,1,6);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Corpo ST

IF DF(X0_bMotorSwitch) then
  F174_PulseOutput_DataTable(s_dutDataTable := dutDataTable4, 4);
END_IF;
Argomenti correlati

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