software:qview:qview_6:qcl_library

QCL Library

Per consultare le regole generali di utilizzo di una funzione QCL vedere il seguente link:

REGOLE DI UTILIZZO DI UNA FUNZIONE

🖲️

IR10EdgeInpRilevazione del fronte di salita e di discesa di un ingresso o di un flag
IR10EdgeRilevazione del fronte di un segnale digitale con tempo di verifica
IR10EdgTmInpRilevazione del fronte di salita e di discesa di un ingresso o di un flag con reset a tempo dei flag di cattura fronti
VC10ChronVarMisurazione del tempo di attivazione di un ingresso o di una variabile

OA10BlinkOut Gestione del lampeggio (blink) di una uscita o flag
OA10SetTmOut Gestione dell'attivazione di un'uscita per un tempo impostabile
OT11PidReg Modulazione di una uscita digitale per il controllo di un processo di termoregolazione tramite sistema P.I.D.
OT21PidReg Modulazione di due uscite digitali per un controllo generico di processo tramite regolazione PID + FF.
OT30PidReg Regolatore generico PID + FF. Dati di regolazione a 16 bit
OT31PidReg Regolatore generico PID + FF. Dati di regolazione a 16 o 32 bit

🔢

VC10CollVal Comparazione di un valore rispetto ad altri due
VC10Copy Copia un valore da A a B oppure da B ad A
VC10HistVar Isteresi di una variabile rispetto ad altri due valori
VC10ChronVar Misurazione del tempo di attivazione di una variabile o ingresso
VC10Calendar Calcolo del giorno della settimana (lunedì-ecc) a partire da una data
VC12FndXPnt Calcolo dell'ascissa di un punto su una retta
VC12FndYPnt Calcolo dell'ordinata di un punto su una retta
VT10OnChVar Segnalazione della variazione di una variabile
VT10OnChTVar Segnalazione della variazione di una variabile con reset a tempo del flag di cambio valore
VC10DivRound Arrotondamento di una variabile a un numero di cifre decimali impostabile
VC10LPFilter Filtro digitale passa basso del primo ordine (filtro RC) per dati di dimensione WORD
VC21LPFilter Filtro digitale passa basso del primo ordine (filtro RC) per dati di dimensione massima +/- 999999 con opzione di precaricamento
VC10MkTime Fornisce il numero di secondi trascorsi dalle 00:00 del 1°gennaio 1970 fino alla data introdotta.
VC20MkTime Fornisce il numero di secondi trascorsi dalle 00:00 del 1°gennaio 1970 fino alla data introdotta.
VC11Hdr Visualizzazione della posizione di un device con sistema Hdr OBSOLETA
VC12Hdr Visualizzazione della posizione di un device con sistema Hdr
VC11HdrJoint Visualizzazione della posizione di un device Joint con sistema Hdr
VC10Granularity Visualizzazione di un valore con filtro di granularità e soglia
VR10WrdtoLng Conversione: Trasforma due variabili Word in una Long
VR10LngtoWrd Conversione: Trasforma una variabili Long in due Word
VR10UbyToBin Conversione: Unsigned Byte → Binario
VR10SByToBin Conversione: Signed Byte → Binario
VR10UwrToBin Conversione: Unsigned Word → Binario
VR10SwrToBin Conversione: Signed Word → Binario
VR10SLnToBin Conversione: Signed Long → Binario
VR10BinToUBy Conversione: Binario → Unsigned Byte
VR10BinToSBy Conversione: Binario → Signed Byte
VR10BinToUWr Conversione: Binario → Unsigned Word
VR10BinToSWr Conversione: Binario → Signed Word
VR10BinToSLn Conversione: Binario → Signed Long
VR10UbyToAsc Conversione: Unsigned Byte → Ascii
VR10SbyToAsc Conversione: Signed Byte → Ascii
VR10UwrToAsc Conversione: Unsigned word → Ascii
VR10SwrToAsc Conversione: Signed Word → Ascii
VR10SlnToAsc Conversione: Signed Long → Ascii
VR10AscToUBy Conversione: Ascii → Unsigned Byte
VR10AscToSBy Conversione: Ascii → Signed Byte
VR10AscToUWr Conversione: Ascii → Unsigned Word
VR10AscToSWr Conversione: Ascii → Signed Word
VR10AscToSLn Conversione: Ascii → Signed Long
VR10ToSingle Copia un valore long intero codificato IEEE754 in una variabile single.

🌀

DT11BreakEncControllo rottura encoder assi ANALOGICI
DT21BreakEncControllo rottura encoder assi ON/OFF

📈

DA11RampGeneratore di rampa generico
DA10AnOoposGestione uscita analogica per asse ON/OFF con rampe

🔄🔢

BC10InitBuf Init di un buffer circolare (con variabili di gestione buffer interne all'array)
BC10PushBuf Inserimento di un valore (push) in un buffer circolare (con variabili di gestione buffer interne all'array)
BC10PopBuf Estrazione di un valore (pop) da un buffer circolare (con variabili di gestione buffer interne all'array)
BC21InitBuf Init di un buffer tipo FIFO (circolare)
BC21PushBuf Inserimento di un valore (push) in un buffer tipo FIFO
BC21PopBuf Estrazione di un valore (pop) da un buffer tipo FIFO
BC21Inspect Acquisizione di un valore interno del buffer
BC21Elements Acquisizione del numero di elementi presenti nel buffer
BC22InitBuf Init di un buffer tipo FIFO (circolare)
BC22PushBuf Inserimento di un valore (push) in un buffer tipo FIFO
BC22PopBuf Estrazione di un valore (pop) da un buffer tipo FIFO
BC22Inspect Acquisizione di un valore interno del buffer
BC22Elements Acquisizione del numero di elementi presenti nel buffer

📚

AC10AvergArrCalcolo della media aritmetica degli elementi di un array
AC10CtrlArrAnalisi degli elementi contenuti in un array
AC10SortUpArOrdinamento in modo crescente degli elementi di un array
AC10SortDwArOrdinamento in modo decrescente degli elementi di un array
AC10FdMaxArrEstrazione del massimo valore contenuto in un array
AC10FdMinArrEstrazione del minimo valore contenuto in un array
AC11ResetArrReset completo di un array
BC10ArrFifoGestione di un buffer Fifo (first input-first output)

💬

DW13ModbusProtocollo Modbus SLAVE : gestione scambio dati con device MODBUS
DW11SerModMaProtocollo Modbus MASTER simulato tramite device SERCOM
DW14SerModSlProtocollo Modbus SLAVE simulato tramite device SERCOM
DU10MbRetryEsecuzione del comando SEND del device MODBUS con verifica e gestione di eventuali ritentativi.

Queste funzioni sono state implementate su un applicativo di esempio sviluppato per un PLC J1P44F-30, il codice di esempio funziona anche sugli altri modelli di PLC della serie QMove+.


✏️📐

VI10InitBuffer Inizializzazione Buffer
VI10BeginDrawBuffer Prepara il Buffer per aggiungere le operazioni di disegno e restituisce il codice di errore precedente
VI10DrawBuffer Disegna il contenuto del Buffer
VI10WaitBufferReadyUsingEND OBSOLETA
VI10CheckBufferReady
Attende che il buffer sia pronto a nuove operazioni uscendo dal task speciale con END
Restituisce lo stato di “READY” del buffer in un task a tempo
VI10WaitBufferReadyUsingWAIT
VI11WaitBufferReadyUsingWAIT
Attende che il buffer sia pronto a nuove operazioni uscendo dal task speciale con WAIT
VI10GetErrorCode Restituisce il codice di errore attuale
VI10ClrErrorCode Cancella il codice di errore attuale
VI10GetUnusedBufferSize Recupera la dimensione del Buffer utilizzato
VI10AddNop Aggiunge al Buffer il comando NOP (nessuna operazione)
VI10AddCls Aggiunge al Buffer il comando CLS (cancella l'area Vector Image)
VI10SetLayer Aggiunge al Buffer il comando SET_LAYER (imposta il layer attivo)
VI10UnsetLayer Aggiunge al Buffer il comando UNSET_LAYER (disabilita il layer indicato)
VI10AddPen Aggiunge al Buffer il comando PEN (imposta il colore disegno)
VI10AddSet Aggiunge al Buffer il comando SET (imposta le coordinate attuali)
VI10AddPoint Aggiunge al Buffer il comando POINT (disegna un punto)
VI10AddLine Aggiunge al Buffer il comando LINE (disegna una linea)
VI10AddRect Aggiunge al Buffer il comando RECT (disegna un rettangolo)
VI10AddCircle Aggiunge al Buffer il comando CIRCLE (disegna un cerchio)
VI10AddArc1 Aggiunge al Buffer il comando ARC1 (disegna un arco di tipo 1)
VI10AddArc2 Aggiunge al Buffer il comando ARC2 (disegna un arco di tipo 2)
VI10AddArc3 Aggiunge al Buffer il comando ARC3 (disegna un arco di tipo 3)
VI10AddArcBetweenAngles Aggiunge al Buffer il comando per il disegno di un arco che va da una angolo A ad un angolo B
VI10SetBackground Aggiunge al Buffer il comando background (imposta il colore di background)
VI10AddMoveArea Aggiunge al Buffer il comando MOVEAREA (muove il contenuto del vector Image)
VI10LoadImage Aggiunge al Buffer il comando LOAD_IMAGE (carica l'immagine associata ad un oggetto Image)
VI10GetDimension Aggiunge al Buffer il comando GET_DIMENSION (legge le dimensioni dell'oggetto VectorImage)
VI10ExtractDimension Estrae le dimensioni dell'oggetto VectorImage dal Buffer dopo l'esecuzione del comando VI10GetDimension

🌡️

VC10TCoupleB Calcolo della temperatura per termocoppia di tipo B
VC10TCoupleJ Calcolo della temperatura per termocoppia di tipo J
VC10TCoupleK Calcolo della temperatura per termocoppia di tipo K
VC10TCoupleN Calcolo della temperatura per termocoppia di tipo N
VC10TCoupleT Calcolo della temperatura per termocoppia di tipo T
VC10PTC100 Calcolo della temperatura per PT100
IR10HJRead Lettura del giunto caldo
IR10CJRead Lettura del giunto freddo
IR11PTCRead Lettura della resistenza PT100 da scheda a 3 punti
IR20PTCRead Lettura della resistenza PT100 da scheda a 3 punti con modalità di lettura differenziale.

🎛️

OP10InitUscite programmabili, inizializzazione
OP10isOutOnUscite programmabili, test se stato uscita attivo
OP10isParOkUscite programmabili, verifica correttezza valore
OP10ManageUscite programmabili, elaborazione dati
OP10ResOutUscite programmabili, reset stato uscita
OP10ResRetUscite programmabili, reset ritenuta uscita
OP10SetOutUscite programmabili, set stato uscita

VC10Cr32InitCalcolo CRC, inizializzazione
VC10Cr32BegCalcolo CRC, Inizio del calcolo
VC10Cr32CalcCalcolo CRC, Conclusione del calcolo
VC10Cr32UdtCalcolo CRC, Aggiornamento del calcolo

🚨

UU10WarnNotify FIXME Inserimento di un warning in un buffer FIFO
UU20MessageNotify FIXME Inserimento di un messaggio in un buffer FIFO
UU20TextMessageNotify FIXME Inserimento di un messaggio con stringa di testo in un buffer FIFO
UU20AlarmNotify Inserimento di un allarme in un buffer FIFO
UU20TextAlarmNotify Inserimento di un allarme con stringa di testo in un buffer FIFO

FUNZIONI PER SYNCROMOVE

🔄

DW22WrCamScrittura su settori camma (40 settori) (CAMMING2,CAMMING3,CAMMING4)
DW31WrCamScrittura su settori camma (128 settori) (CAMMING3,CAMMING4)
DC11SpaceCamCalcoli per ricerca spazio master minimo con spazio slave impostato
DC10VelCamCalcoli per costruzione dei settori di accelerazione, velocità costante e decelerazione di una camma elettronica, impostando lo spazio Master e Slave e le rispettive velocità

📉

DC10ElGearCalcoli per gestione Albero Elettrico Master/Slave
DC10ChGearCalcoli per cambio rapporto di sincronismo “al volo” in Albero Elettrico Master/Slave (senza rampe)
DC10ChVelRatCalcolo per impostare e/o cambiare il rapporto di velocità Slave/Master di un albero elettrico in maniera dinamica con rampe di addolcimento durante il cambio velocità

🔪

DC21FlyCutCalcoli per taglio al volo lineare con ottimizzazione della produttività macchina
DC30FlyCutCalcoli per taglio al volo lineare con spazio Slave fisso
DW22WrCamScrittura su settori camma (40 settori) (CAMMING2,CAMMING3,CAMMING4)
DW31WrCamScrittura su settori camma (128 settori) (CAMMING3,CAMMING4)
DW10ChLenghtScrittura su settori camma per cambio lunghezza taglio al volo lineare (CAM01)
DW22ChLenghtScrittura su settori camma per cambio lungh. taglio al volo lineare (CAMMING, CAMMING2, CAMMING3)
DC10DoubFlyCCalcolo per prelievo di un pezzo campione durante l'esecuzione di un taglio al volo lineare.
DC10DinHFlyCCalcolo per modifica lunghezza al volo del pezzo da tagliare durante l'esecuzione di un taglio al volo lineare (tipicamente taglio difetto su materiale)

🧵

DC10WindingCalcolo per la costruzione della camma per la gestione di uno spandifilo

🔪 🌀

DC12RotCutGestione di un taglio al volo circolare con cilindro di taglio mono o multilama (da1 a 6 lame)
DC22RotCutGestione di un taglio al volo circolare con cilindro di taglio mono o multilama (da1 a 6 lame) con fermata ad Home dello Slave e Comando taglio manuale dissincronizzato

⚙️

SY10InitializeCriticalSectionGestione inizializzazione sezione critica
SY10EnterCriticalSectionGestione entrata in sezione critica
SY10LeaveCriticalSectionGestione uscita da sezione critica

🔤

ST10StrStrRicerca stringa in sottostringa
ST10StrCpyCopia stringa
ST10StrLenLunghezza stringa
ST10StrNCpyCopia caratteri dalla stringa
ST10atoiConverti stringa in intero
ST10StrCatConcatena stringhe
  • Ultima modifica: 2025/01/13 12:05