software:qview:qview_6:qview60

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisione Revisione precedente
Prossima revisione
Revisione precedente
software:qview:qview_6:qview60 [2024/09/25 09:12] – [Table] qem214software:qview:qview_6:qview60 [2025/05/30 08:10] (versione attuale) – [23.2.1 Errore 32] qem218
Linea 196: Linea 196:
  
 Quando la CPU è in RUN vedremo il valore della variabile che si incrementa. Quando la CPU è in RUN vedremo il valore della variabile che si incrementa.
 +
 +<html><pagebreak /></html>
 +
 +===== - Pannelli di controllo =====
 +QView 6 mette a disposizione diversi **pannelli** utili alla programmazione. In questa sezione spiegheremo le funzionalità per ciascuno di essi.
 +
 +<WRAP center round download 60%>
 +Download example
 +</WRAP>
 +
 +==== Watches Panel ====
 +Questo pannello permette al programmatore di **vedere le variabili** e con i rispettivi **tipi** e **valori a runtime**.
 +Per usarlo è sufficiente scrivere la variabile di cui si vuole conoscere il valore all'interno della colonna centrale e verrà mostrata la variabile desiderata
 +
 +{{:software:qview:qview_6:qview60:watches_panel_new.png?direct|}}
 +
 +Come si vede nell'immagine si possono modificare i sheet di inserimento delle variabili. Ecco tutte lefunzionalità che riguardano le pagine del **Watches panel**.
 +  * **Aggiungere sheets**: per farlo è sufficiente fare click destro nella parte più grigia a destra e selezionare l'opzione "add sheet".
 +  * **Rimuvore sheets**: per farlo è necessario fare click destro sul sheet da eliminare e selezionare la voce "delete sheet".
 +  * **Rinominare sheets**: per farlo è sufficiente fare click destro sul sheet da rinominare e selezionare la voce "rename sheet".
 +  * **Cambiare la posizione dei sheets**: trascinare col tasto sinistro del mouse lo sheet desiderato fino alla posizione voluta.
 +
 +==== CPU Monitor ====
 +Questo pannello permette di visionare lo stato della CPU, i tempi di utilizzo, la presenza di breakpoint, vari errori, ecc. \\
 +{{:software:qview:qview_6:qview60:cpu_monitor.png?direct|}} \\
 +La prima finestra è divisa in 4 macro categorie:
 +  - **CPU General**: contiene le info generali della cpu. In particolare lo stato, il tempo trascorso dall'accensione e la memoria occupata dal programma
 +  - **CPU Task Info**: contiene tutte le informazioni riguardanti la task in esecuzione e il giro task, la presenza di breakpoint e il watchdog task nonchè la presenza del backup
 +  - **CPU Warnings**: fornisce le informazioni riguardo warning in atto come il watchdog o il battery low
 +  - **CPU Timings**: fornisce i tempi di giro task attuali, massimi e minimi 
 +
 +==== Data Record Panel ====
 +Il data record panel è un pannelo molto utile che permette di **graficare** fino a **8 variabili analogiche** e **8 digitali** per ogni pannello.
 +
 +{{:software:qview:qview_6:qview60:data_record_1.png?direct|}}\\
 +{{:software:qview:qview_6:qview60:data_record_2.png?direct|}} Per aggiungere una variabile è sufficiente **abilitare un canale libero**\\
 +{{:software:qview:qview_6:qview60:data_record_3.png?direct|}} **Inserire il nome** della variabile nell'apposito campo \\
 +{{:software:qview:qview_6:qview60:data_record_4.png?direct|}} Selezionare la tab **Data Plot** in alto a destra\\
 +{{:software:qview:qview_6:qview60:data_record_5.png?direct|}} Far partire la cattura dei valori  nella sezione Acquiring premere il **tasto avvia** in verde\\
 +{{:software:qview:qview_6:qview60:data_record_6.png?direct|}} Il **risultato** di un asse che va avanti e indietro è simile a questo \\
 +
 +Questo pannello risulta essere molto utile per la **regolazione del PID**. In quanto permette di vedere errori di inseguimento, rampe di accelerazione e decelerazione, ecc.
 +
 +==== Project Panel List ====
 +Questo pannello tiene traccia di tutti i pannelli presenti all'interno del progetto. Da qui è possibile chiuderli, aprirli o eliminarli. \\
 +{{:software:qview:qview_6:qview60:project_panel_list.png?direct|}}
 +
 +
  
  
  
-<html><pagebreak /></html> 
  
 ====== - Introduzione alla programmazione ====== ====== - Introduzione alla programmazione ======
Linea 1295: Linea 1342:
 </code> </code>
  
-Per comprendere meglio il significato di queste istruzioni di sistema si veda il capitolo “Multitasking”.+Per comprendere meglio il significato di queste istruzioni di sistema si veda il capitolo “[[https://wiki.qem.it/doku.php/software/qview/qview_6/qview60#multitasking|Multitasking]]”.
 ===== - Variabili di sistema ===== ===== - Variabili di sistema =====
 Il sistema QMOVE mette a disposizione delle variabili legate al sistema operativo interno di sola lettura; i nomi Il sistema QMOVE mette a disposizione delle variabili legate al sistema operativo interno di sola lettura; i nomi
Linea 3445: Linea 3492:
 <html><pagebreak /></html> <html><pagebreak /></html>
  
 +==== - Chiamate Ricorsive ====
 +Una subroutine può chiamare se stessa per una profondità massima di 15 livelli. In pratica non si possono avere più di 15 istanze di una subroutine contemporaneamemente aperte. 
 ====== - Appendice B: Conversione e promozione di tipo ====== ====== - Appendice B: Conversione e promozione di tipo ======
  
Linea 3724: Linea 3773:
   * Non è possibile scrivere le //subroutine// prima della istruzione //END// di una unit. Le //SUB// vanno sempre scritte alla fine della unit e dopo l'//END//.   * Non è possibile scrivere le //subroutine// prima della istruzione //END// di una unit. Le //SUB// vanno sempre scritte alla fine della unit e dopo l'//END//.
  
 +====== - Errori ======
 +
 +===== - Errori di Runtime =====
 +
 +==== - Syntax Error ====
 +
 +==== Descrizione errore ====
 +
 +L'errore di sintassi ''sintax'' può verificarsi durante l'esecuzione quando il runtime del QCL incontra un'errata sintassi.
 +
 +Esempio pratico:
 +
 +Si veda il codice sorgente in figura, in particolare la parte:
 +
 +<code QCL>
 +; main entry point
 +BEGIN
 +  NOP
 +  WAIT 1  
 +END
 +</code>
 +
 +\\  
 + 
 +Si noti che la compilazione avviene senza problemi.\\ 
 +
 +----
 +
 +{{ :software:qview:qview_6:qview60:syntax_err1.png?direct |}}
 +
 +----
 +
 +L'errore viene mostrato nel CPU Monitor {{:software:qview:qview_6:cpu_monitor.jpg?nolink|}} non appena l'applicativo viene messo in **RUN**
 +
 +Quando l'errore appare, cliccare sul pulsante {{:software:qview:qview_6:debug_line.jpg?nolink|}} per vedere la parte del codice che l'ha generato (l'indicatore è una freccia verde).
 +
 +Se il PLC è un [[https://wiki.qem.it/doku.php/strumenti/qmoveplus#integrati|dispositivo integrato]] si presenta la dicitura ''Sintax Error'' nel display HMI e la dicitura ''Err: Sintax'' viene mostrata nel **CPU Monitor Panel** e l'errore viene segnalato nella riga in cui è presente l'istruzione ''END'' (come in figura).
 +
 +Se il PLC è un [[https://wiki.qem.it/doku.php/strumenti/qmoveplus#retroquadro|dispositivo retroquadro]] il led di segnalazione errore compirà un numero di lampeggi tale da indicare tale errore, fare riferimento al manuale dello strumento ''Segnalazioni del led err'' ([[https://wiki.qem.it/doku.php/strumenti/qmoveplus/c1r44/mimc1r44fx_base#segnalazioni_del_led_err|qui un esempio]] - 7 lampeggi)
 +
 +----
 +
 +{{ :software:qview:qview_6:qview60:syntax_err2.png?direct |}}
 +
 +
 +----
 +
 +==== Soluzione errore ====
 +
 +**Risolvere** inserendo il codice della UNIT in questione all'interno di un **ciclo WHILE** inserendo come **condizione** qualcosa di **sempre vero**, ad esempio ''TRUE'' oppure ''1''.
 +
 +----
 +
 +<code QCL>
 +; main entry point
 +BEGIN
 +  WHILE TRUE
 +      NOP
 +      WAIT 1
 +  ENDWHILE    
 +END
 +</code>
 +
 +----
 +
 +{{ :software:qview:qview_6:qview60:syntax_err3.png?direct |}}
 +
 +----
 +
 +Questo perché dopo aver terminato l'esecuzione della ''UNIT'' il programma termina bloccando tutti i processi successivi. Per ulteriori informazioni consultare la sezione dedicata al "[[https://wiki.qem.it/doku.php/software/qview/qview_6/qview60#multitasking|Multitasking]]"
 +
 +----
 +
 +
 +===== - Errori applicativo Qview =====
 +
 +==== - Errore 32 ====
 +
 +Questo errore si verifica se si verificano errori in uno dei file dell'archivio .qm6 del progetto.
 +
 +Per risolvere questo errore è necessario controllare il contenuto del file .qm6 e verificare che il file .QMV contenuto in esso non sia mal formattato o non faccia riferimento ad un altro archivio. 
 +
 +Questo tipo di errore può capitare quando si copia un applicativo esistente o si importano parti di esso in un nuovo applicativo. 
  
 +----
  
 +{{:software:qview:qview_6:qview_error_32.png?nolink|}}
  • Ultima modifica: 2024/09/25 09:12