Both sides previous revision Previous revision Next revision | Previous revision |
en:software:qview:qview_6:qcl_library [2017/01/20 09:11] – qem103 | en:software:qview:qview_6:qcl_library [2024/03/06 15:11] (current) – [Table] qem214 |
---|
====== QCL Library ====== | ====== QCL Libraries ====== |
| |
[[.:qcl_library:Rules of using a function]] | [[.:qcl_library:Rules of using a function]] |
**CIRCULAR BUFFER MANAGEMENT FUNCTIONS** | **CIRCULAR BUFFER MANAGEMENT FUNCTIONS** |
| |
|[[.:qcl_library:BC10InitBuf]]|Init of a circular buffer (with internal buffer management variables to the array)| | | [[.:qcl_library:BC10InitBuf]] | Init of a circular buffer (with internal buffer management variables to the array) | |
|[[.:qcl_library:BC10PushBuf]]|Inserting of a value (push) in a circular buffer (with internal buffer management variables to the array)| | | [[.:qcl_library:BC10PushBuf]] | Inserting of a value (push) in a circular buffer (with internal buffer management variables to the array) | |
|[[.:qcl_library:BC10PopBuf]]|Extracting of a value (pop) from a circular buffer (with internal buffer management variables to the array)| | | [[.:qcl_library:BC10PopBuf]] | Extracting of a value (pop) from a circular buffer (with internal buffer management variables to the array) | |
|[[.:qcl_library:BC21InitBuf]]|Init of a buffer FIFO type (circular)| | | [[.:qcl_library:BC21InitBuf]] | Init of a buffer FIFO type (circular) | |
|[[.:qcl_library:BC21PushBuf]]|Inserting of a value (push) in a buffer FIFO type| | | [[.:qcl_library:BC21PushBuf]] | Inserting of a value (push) in a buffer FIFO type | |
|[[.:qcl_library:BC21PopBuf]]|Extracting of a value (pop) from a buffer FIFO type| | | [[.:qcl_library:BC21PopBuf]] | Extracting of a value (pop) from a buffer FIFO type | |
|[[.:qcl_library:BC21Inspect]]|Acquisition of a value into the buffer| | | [[.:qcl_library:BC21Inspect]] | Acquisition of a value into the buffer | |
|[[.:qcl_library:BC21Elements]]|Acquisition of the number of elements in the buffer| | | [[.:qcl_library:BC21Elements]] | Acquisition of the number of elements in the buffer | |
| | [[.:qcl_library:BC22Inspect]] | Acquisition of a value into the buffer FIXME | |
| |
| |
**FUNCTIONS WITH GENERAL OPERATIONS ON ARRAYS** | **FUNCTIONS WITH GENERAL OPERATIONS ON ARRAYS** |
| |
|[[.:qcl_library:AC10AvergArr]]|Calculating the arithmetic mean of the elements of an array| | | [[.:qcl_library:AC10AvergArr]] | Calculating the arithmetic mean of the elements of an array | |
|[[.:qcl_library:AC10CtrlArr]]|FIXME Analisi degli elementi contenuti in un array| | | [[.:qcl_library:AC10CtrlArr]] | Analysis of the elements in an array | |
|[[.:qcl_library:AC10SortUpAr]]|Ordinamento in modo crescente degli elementi di un array| | | [[.:qcl_library:AC10SortUpAr]] | Sorting in ascending on the elements of an array | |
|[[.:qcl_library:AC10SortDwAr]]|Ordinamento in modo decrescente degli elementi di un array| | | [[.:qcl_library:AC10SortDwAr]] | Sorting in descending order of the elements of an array | |
|[[.:qcl_library:AC10FdMaxArr]]|Estrazione del massimo valore contenuto in un array| | | [[.:qcl_library:AC10FdMaxArr]] | Extracting the maximum value in an array | |
|[[.:qcl_library:AC10FdMinArr]]|Estrazione del minimo valore contenuto in un array| | | [[.:qcl_library:AC10FdMinArr]] | Extracting the minimum value in an array | |
|[[.:qcl_library:AC11ResetArr]]|Reset completo di un array| | | [[.:qcl_library:AC11ResetArr]] | Full reset of an array | |
|[[.:qcl_library:BC10ArrFifo]]|Gestione di un buffer Fifo (first input-first output)| | | [[.:qcl_library:BC10ArrFifo]] | Managing a FIFO buffer (first input-first output) | |
| |
| |
**FUNZIONI PER PROTOCOLLO MODBUS** | **FUNCTIONS FOR MODBUS PROTOCOL** |
| |
|[[.:qcl_library:DW13Modbus]]|Protocollo Modbus SLAVE : gestione scambio dati con device MODBUS| | |[[.:qcl_library:DW13Modbus]]|Modbus SLAVE protocol: managing data exchange with MODBUS devices| |
|[[.:qcl_library:DW11SerModMa]]|Protocollo Modbus MASTER simulato tramite device SERCOM| | |[[.:qcl_library:DW11SerModMa]]|Modbus MASTER simulated protocol through SERCOM device| |
|[[.:qcl_library:DW14SerModSl]]|Protocollo Modbus SLAVE simulato tramite device SERCOM| | |[[.:qcl_library:DW14SerModSl]]|Modbus SLAVE simulated protocol through SERCOM device| |
|[[.:qcl_library:DU10MbRetry]]|Esecuzione del comando SEND del device MODBUS con verifica e gestione di eventuali ritentativi.| | |[[.:qcl_library:DU10MbRetry]]|Implementation of the SEND command of MODBUS devices with check and manage any programmed attempts| |
| |
| |
**FUNZIONI PER VECTOR IMAGE (QPAINT)** | **FUNCTIONS FOR VECTOR IMAGE (QPAINT)** |
| |
|[[.:qcl_library:VI10InitBuffer]]|Inizializzazione Buffer| | |[[.:qcl_library:VI10InitBuffer]]|Buffer Initialize| |
|[[.:qcl_library:VI10BeginDrawBuffer]]|Prepara il Buffer per aggiungere le operazioni di disegno e restituisce il codice di errore precedente| | |[[.:qcl_library:VI10BeginDrawBuffer]]|Prepares the Buffer to add the drawing operations and returns the previous error code| |
|[[.:qcl_library:VI10DrawBuffer]]|Disegna il contenuto del Buffer| | |[[.:qcl_library:VI10DrawBuffer]]|Draws the contents of the Buffer| |
|[[.:qcl_library:VI10WaitBufferReadyUsingEND]]|Attende che il buffer sia pronto a nuove operazioni uscendo dal task speciale con END| | |[[.:qcl_library:VI10WaitBufferReadyUsingEND]]|Waits for the buffer is ready for new operations coming out of the special task with END| |
|[[.:qcl_library:VI10WaitBufferReadyUsingWAIT]]\\ [[.:qcl_library:VI11WaitBufferReadyUsingWAIT]]|Attende che il buffer sia pronto a nuove operazioni uscendo dal task speciale con WAIT| | |[[.:qcl_library:VI10WaitBufferReadyUsingWAIT]]\\ [[.:qcl_library:VI11WaitBufferReadyUsingWAIT]]|Waits for the buffer is ready for new operations coming out of the special task with WAIT| |
|[[.:qcl_library:VI10GetErrorCode]]|Restituisce il codice di errore attuale| | |[[.:qcl_library:VI10GetErrorCode]]|Returns the current error code| |
|[[.:qcl_library:VI10ClrErrorCode]]|Cancella il codice di errore attuale| | |[[.:qcl_library:VI10ClrErrorCode]]|Clears the current error code| |
|[[.:qcl_library:VI10GetUnusedBufferSize]]|Recupera la dimensione del Buffer utilizzato| | |[[.:qcl_library:VI10GetUnusedBufferSize]]|Retrieves the Buffer size used| |
|[[.:qcl_library:VI10AddNop]]|Aggiunge al Buffer il comando NOP (nessuna operazione)| | |[[.:qcl_library:VI10AddNop]]|Adds to the NOP command at the Buffer (no operation)| |
|[[.:qcl_library:VI10AddCls]]|Aggiunge al Buffer il comando CLS (cancella l'area Vector Image)| | |[[.:qcl_library:VI10AddCls]]|Adds to the CLS command at the Buffer (clear the Vector Image area)| |
|[[.:qcl_library:VI10SetLayer]]|Aggiunge al Buffer il comando SET_LAYER (imposta il layer attivo)| | |[[.:qcl_library:VI10SetLayer]]|Adds to the SET_LAYER command at the Buffer (sets the active layer)| |
|[[.:qcl_library:VI10AddPen]]|Aggiunge al Buffer il comando PEN (imposta il colore disegno)| | |[[.:qcl_library:VI10AddPen]]|Adds to the PEN command at the Buffer (sets the color drawing)| |
|[[.:qcl_library:VI10AddSet]]|Aggiunge al Buffer il comando SET (imposta le coordinate attuali)| | |[[.:qcl_library:VI10AddSet]]|Adds to the SET command at the Buffer (sets the current coordinates)| |
|[[.:qcl_library:VI10AddPoint]]|Aggiunge al Buffer il comando POINT (disegna un punto)| | |[[.:qcl_library:VI10AddPoint]]|Adds to the POINT command at the Buffer (draws a point)| |
|[[.:qcl_library:VI10AddLine]]|Aggiunge al Buffer il comando LINE (disegna una linea)| | |[[.:qcl_library:VI10AddLine]]|Adds to the LINE command at the Buffer (draws a line)| |
|[[.:qcl_library:VI10AddRect]]|Aggiunge al Buffer il comando RECT (disegna un rettangolo)| | |[[.:qcl_library:VI10AddRect]]|Adds to the RECT command at the Buffer (draw a rectangle)| |
|[[.:qcl_library:VI10AddCircle]]|Aggiunge al Buffer il comando CIRCLE (disegna un cerchio)| | |[[.:qcl_library:VI10AddCircle]]|Adds to the CIRCLE command at the Buffer (draw a circle)| |
|[[.:qcl_library:VI10AddArc1]]|Aggiunge al Buffer il comando ARC1 (disegna un arco di tipo 1)| | |[[.:qcl_library:VI10AddArc1]]|Adds to the ARC1 command at the Buffer (draws an arc of type 1)| |
|[[.:qcl_library:VI10AddArc2]]|Aggiunge al Buffer il comando ARC2 (disegna un arco di tipo 2)| | |[[.:qcl_library:VI10AddArc2]]|Adds to the ARC2 command at the Buffer (draws an arc of type 2)| |
|[[.:qcl_library:VI10AddArc3]]|Aggiunge al Buffer il comando ARC3 (disegna un arco di tipo 3)| | |[[.:qcl_library:VI10AddArc3]]|Adds to the ARC3 command at the Buffer (draws an arc of type 3)| |
|[[.:qcl_library:VI10AddArcBetweenAngles]]|Aggiunge al Buffer il comando per il disegno di un arco che va da una angolo A ad un angolo B| | |[[.:qcl_library:VI10AddArcBetweenAngles]]|Added at the buffer the command for the draw of an arc from one corner A to corner B| |
|[[.:qcl_library:VI10SetBackground]]|Aggiunge al Buffer il comando background (imposta il colore di background)| | |[[.:qcl_library:VI10SetBackground]]|Adds to the background command at the Buffer (sets the background color)| |
|[[.:qcl_library:VI10AddMoveArea]]|Aggiunge al Buffer il comando MOVEAREA (muove il contenuto del vector Image)| | |[[.:qcl_library:VI10AddMoveArea]]|Adds to the MOVEAREA command at the Buffer (move the contents of the Vector Image)| |
|[[.:qcl_library:VI10UnsetLayer]]|Aggiunge al Buffer il comando UNSET_LAYER (disabilita il layer indicato)| | |[[.:qcl_library:VI10UnsetLayer]]|Adds to the UNSET_LAYER command at the Buffer (disable the layer indicated)| |
|[[.:qcl_library:VI10LoadImage]]|Aggiunge al Buffer il comando LOAD_IMAGE (carica l'immagine associata ad un oggetto //Image//)| | |[[.:qcl_library:VI10LoadImage]]|Adds to the LOAD_IMAGE command at the Buffer (load the image attached to an //Image// object)| |
|[[.:qcl_library:VI10GetDimension]]|Aggiunge al Buffer il comando GET_DIMENSION (legge le dimensioni dell'oggetto VectorImage)| | |[[.:qcl_library:VI10GetDimension]]|Adds to the GET_DIMENSION command at the Buffer (reads the VectorImage object size)| |
|[[.:qcl_library:VI10ExtractDimension]]|Estrae le dimensioni dell'oggetto VectorImage dal Buffer dopo l'esecuzione del comando [[.:qcl_library:VI10GetDimension]] | | |[[.:qcl_library:VI10ExtractDimension]]|Extracts the dimensions of the VectorImage from the Buffer after the execution of the command [[.:qcl_library:VI10GetDimension]] | |
| |
| |
**FUNZIONI PER GESTIONE TERMOCOPPIE** | **FUNCTIONS FOR MANAGING THERMOCOUPLES** |
| |
|[[.:qcl_library:IR10CJRead]]|Lettura del giunto freddo| | |[[.:qcl_library:IR10CJRead]]|Cold-junction reading| |
|[[.:qcl_library:IR10HJRead]]|Lettura del giunto caldo| | |[[.:qcl_library:IR10HJRead]]|Warm-junction reading| |
|[[.:qcl_library:VC10TCoupleB]]|Calcolo della temperatura per termocoppia di tipo B| | |[[.:qcl_library:VC10TCoupleB]]|Temperature calculation for thermocouple type B| |
|[[.:qcl_library:VC10TCoupleJ]]|Calcolo della temperatura per termocoppia di tipo J| | |[[.:qcl_library:VC10TCoupleJ]]|Temperature calculation for thermocouple type J| |
|[[.:qcl_library:VC10TCoupleK]]|Calcolo della temperatura per termocoppia di tipo K| | |[[.:qcl_library:VC10TCoupleK]]|Temperature calculation for thermocouple type K| |
|[[.:qcl_library:VC10TCoupleN]]|Calcolo della temperatura per termocoppia di tipo N| | |[[.:qcl_library:VC10TCoupleN]]|Temperature calculation for thermocouple type N| |
|[[.:qcl_library:VC10TCoupleT]]|Calcolo della temperatura per termocoppia di tipo T| | |[[.:qcl_library:VC10TCoupleT]]|Temperature calculation for thermocouple type T| |
|[[.:qcl_library:IR11PTCRead]]|Lettura della resistenza PT100 da scheda a 3 punti| | |[[.:qcl_library:IR11PTCRead]]|Reading the PT100 resistance from the 3 points board| |
|[[.:qcl_library:IR20PTCRead]]|Lettura della resistenza PT100 da scheda a 3 punti con modalità di lettura differenziale.| | |[[.:qcl_library:IR20PTCRead]]|Reading the PT100 resistance from the 3 points board with the differential reading mode| |
|[[.:qcl_library:VC10PTC100]]|Calcolo della temperatura per PT100| | |[[.:qcl_library:VC10PTC100]]|Calculation of temperature for PT100| |
| |
| |
**FUNZIONI PER GESTIONE USCITE PROGRAMMABILI** | **FUNCTIONS FOR MANAGING PROGRAMMABLE OUTPUTS** |
| |
|[[.:qcl_library:OP10Init]]|Uscite programmabili, inizializzazione| | |[[.:qcl_library:OP10Init]]|Programmable outputs, initializing| |
|[[.:qcl_library:OP10isOutOn]]|Uscite programmabili, test se stato uscita attivo| | |[[.:qcl_library:OP10isOutOn]]|Programmable outputs, tests whether active output status| |
|[[.:qcl_library:OP10isParOk]]|Uscite programmabili, verifica correttezza valore| | |[[.:qcl_library:OP10isParOk]]|Programmable outputs, check correct value| |
|[[.:qcl_library:OP10Manage]]|Uscite programmabili, elaborazione dati| | |[[.:qcl_library:OP10Manage]]|Programmable outputs, data processing| |
|[[.:qcl_library:OP10ResOut]]|Uscite programmabili, reset stato uscita| | |[[.:qcl_library:OP10ResOut]]|Programmable outputs, reset output status| |
|[[.:qcl_library:OP10ResRet]]|Uscite programmabili, reset ritenuta uscita| | |[[.:qcl_library:OP10ResRet]]|Programmable outputs, Reset output restraint| |
|[[.:qcl_library:OP10SetOut]]|Uscite programmabili, set stato uscita| | |[[.:qcl_library:OP10SetOut]]|Programmable outputs, set output status| |
| |
| |
**FUNZIONI PER CALCOLO CHECKSUM** | **FUNCTIONS FOR CALCULATING CHECKSUM** |
| |
|[[.:qcl_library:VC10Cr32Init]]|Calcolo CRC, inizializzazione| | |[[.:qcl_library:VC10Cr32Init]]|Calculation CRC, initialization| |
|[[.:qcl_library:VC10Cr32Beg]]|Calcolo CRC, Inizio del calcolo| | |[[.:qcl_library:VC10Cr32Beg]]|Calculation CRC, Beginning of the calculation| |
|[[.:qcl_library:VC10Cr32Calc]]|Calcolo CRC, Conclusione del calcolo| | |[[.:qcl_library:VC10Cr32Calc]]|Calculation CRC, Conclusion of the calculation| |
|[[.:qcl_library:VC10Cr32Udt]]|Calcolo CRC, Aggiornamento del calcolo| | |[[.:qcl_library:VC10Cr32Udt]]|Calculation CRC, Update calculation| |
| |
| |
//**FUNZIONI PER SYNCROMOVE**// | //**FUNCTIONS FOR SYNCROMOVE**// |
| |
| |
**FUNZIONI GENERALI PER OPERAZIONI CON CAMMING** | **GENERAL FUNCTIONS FOR WORKING WITH CAMMING** |
| |
|[[.:qcl_library:DW22WrCam]]|Scrittura su settori camma (40 settori) (CAMMING2,CAMMING3,CAMMING4)| | |[[.:qcl_library:DW22WrCam]]|Writing to sectors cam (40 sectors) (CAMMING2,CAMMING3,CAMMING4)| |
|[[.:qcl_library:DW31WrCam]]|Scrittura su settori camma (128 settori) (CAMMING3,CAMMING4)| | |[[.:qcl_library:DW31WrCam]]|Writing to sectors cam (128 sectors) (CAMMING3,CAMMING4)| |
|[[.:qcl_library:DC11SpaceCam]]|Calcoli per ricerca spazio master minimo con spazio slave impostato| | |[[.:qcl_library:DC11SpaceCam]]|Calculations for research space master set with minimum slave space| |
|[[.:qcl_library:DC10VelCam]]|Calcoli per costruzione dei settori di accelerazione, velocità costante e decelerazione di una camma elettronica, impostando lo spazio Master e Slave e le rispettive velocità| | |[[.:qcl_library:DC10VelCam]]|Calculations for construction of the sectors of acceleration, constant speed and deceleration of a electronic cam, setting the Master and Slave and their speed| |
| |
| |
**FUNZIONI PER ALBERO ELETTRICO** | **GEARING FUNCTIONS** |
| |
|[[.:qcl_library:DC10ElGear]]|Calcoli per gestione Albero Elettrico Master/Slave| | |[[.:qcl_library:DC10ElGear]]|Calculations for managing the Master/Slave gearing| |
|[[.:qcl_library:DC10ChGear]]|Calcoli per cambio rapporto di sincronismo "al volo" in Albero Elettrico Master/Slave (senza rampe)| | |[[.:qcl_library:DC10ChGear]]|Exchange sync ratio calculations "on the fly" in a Master/Slave gearing (without ramps)| |
|[[.:qcl_library:DC10ChVelRat]]|Calcolo 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à | | |[[.:qcl_library:DC10ChVelRat]]|Calculation to set and/or change the Slave/Master speed ratio of a gearing dynamically with flights of softening when changing speed | |
| |
| |
**FUNZIONI PER TAGLIO AL VOLO** | **FUNCTIONS FOR FLY CUT** |
| |
|[[.:qcl_library:DC21FlyCut]]|Calcoli per taglio al volo lineare con ottimizzazione della produttività macchina| | |[[.:qcl_library:DC21FlyCut]]|Calculations for linear fly cut with machine productivity optimization| |
|[[.:qcl_library:DC30FlyCut]]|Calcoli per taglio al volo lineare con spazio Slave fisso| | |[[.:qcl_library:DC30FlyCut]]|Calculations for linear fly cut with fixed Slave space| |
|[[.:qcl_library:DW22WrCam]]|Scrittura su settori camma (40 settori) (CAMMING2,CAMMING3,CAMMING4)| | |[[.:qcl_library:DW22WrCam]]|Writing to sectors cam (40 sectors) (CAMMING2,CAMMING3,CAMMING4)| |
|[[.:qcl_library:DW31WrCam]]|Scrittura su settori camma (128 settori) (CAMMING3,CAMMING4)| | |[[.:qcl_library:DW31WrCam]]|Writing to sectors cam (128 sectors) (CAMMING3,CAMMING4)| |
|[[.:qcl_library:DW10ChLenght]]|Scrittura su settori camma per cambio lunghezza taglio al volo lineare (CAM01)| | |[[.:qcl_library:DW10ChLenght]]|Writing to sectors cam to change the linear length fly cut (CAM01)| |
|[[.:qcl_library:DW22ChLenght]]|Scrittura su settori camma per cambio lungh. taglio al volo lineare (CAMMING, CAMMING2, CAMMING3)| | |[[.:qcl_library:DW22ChLenght]]|Writing to sectors cam to change the linear length fly cut (CAMMING, CAMMING2, CAMMING3)| |
|[[.:qcl_library:DC10DoubFlyC]]|Calcolo per prelievo di un pezzo campione durante l'esecuzione di un taglio al volo lineare.| | |[[.:qcl_library:DC10DoubFlyC]]|Calculation for taking a sample piece during the fly cut execution| |
|[[.:qcl_library:DC10DinHFlyC]]|Calcolo per modifica lunghezza al volo del pezzo da tagliare durante l'esecuzione di un taglio al volo lineare (tipicamente taglio difetto su materiale)| | |[[.:qcl_library:DC10DinHFlyC]]|Calculation for length change on the fly of the workpiece during the linear fly cut execution (typically cut defect on material)| |
| |
| |
**FUNZIONI PER SPANDIFILO (GUIDA-FILO)** | **FUNCTIONS FOR WIRE-GUIDES** |
| |
| |[[.:qcl_library:DC10Winding]]|Calculation for the cam building for the wire-guides management| |
| |
| |
| |
| **FUNCTIONS FOR CIRCULAR FLY CUT** |
| |
| |[[.:qcl_library:DC12RotCut]]|Managing of a circular fly cut with single or multi-blade cutting cylinder (from 1 to 6 blades)| |
| |[[.:qcl_library:DC22RotCut]]|Managing of a circular fly cut with single or multi-blade cutting cylinder (from 1 to 6 blades) stopping to Home of the Slave and manual cutting no-synchronized command| |
| |
| |
| **SYSTEM FUNCTIONS** |
| |
| |[[.:qcl_library:SY10InitializeCriticalSection]]|Managing critical section initialization| |
| |[[.:qcl_library:SY10EnterCriticalSection]]|Entering critical section management| |
| |[[.:qcl_library:SY10LeaveCriticalSection]]|Exit critical section management| |
| |
| **STRING FUNCTIONS** |
| |
| |[[.:qcl_library:ST10StrStr]]|String search in substring| |
| |[[.:qcl_library:ST10StrCpy]]|String copy| |
| |[[.:qcl_library:ST10StrLen]]|String length| |
| |[[.:qcl_library:ST10StrNCpy]]|Copy characters from string| |
| |[[.:qcl_library:ST10atoi]]|Convert string to integer| |
| |[[.:qcl_library:ST10StrCat]]|Concatenate strings| |
| |
|[[.:qcl_library:DC10Winding]]|Calcolo per la costruzione della camma per la gestione di uno spandifilo| | |
| |
| |
| |
**FUNZIONI PER TAGLIO AL VOLO CIRCOLARE** | |
| |
|[[.:qcl_library:DC12RotCut]]|Gestione di un taglio al volo circolare con cilindro di taglio mono o multilama (da1 a 6 lame)| | |
|[[.:qcl_library:DC22RotCut]]|Gestione 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 | | |
| |
| |
**FUNZIONI DI SISTEMA** | |
| |
|[[.:qcl_library:SY10InitializeCriticalSection]]|Gestione inizializzazione sezione critica| | |
|[[.:qcl_library:SY10EnterCriticalSection]]|Gestione entrata in sezione critica| | |
|[[.:qcl_library:SY10LeaveCriticalSection]]|Gestione uscita da sezione critica| | |
| |