Skip to main content

Profilazione per strumentazione di codice

Importante

Il codice IEC aggiunto implicitamente per un metodo di misurazione Profiler, così come i punti di interruzione per le POU nella watch list, determinano una modifica e rallentano il programma valutato.

Quando è attiva una misurazione della profilazione o della copertura del codice, in genere non è possibile un'operazione online. Inoltre, alcune funzionalità online non sono disponibili, come "controllo di flusso" e "punti di interruzione". Non ci sono restrizioni per la watch list a questo riguardo.

L'abilitazione o la disabilitazione di un metodo di misurazione Profiler o la modifica di qualsiasi impostazione nell'editor Profiler richiedono ciascuno un download. Quindi un cambio online non è più possibile. Non ci sono restrizioni per la watch list a questo riguardo.

Suggerimento

La registrazione e l'elaborazione dei valori misurati avviene sul controller e quindi può essere eseguita anche senza collegare il sistema di sviluppo al controller (contrariamente agli altri metodi di misurazione).

Con questo metodo di profilazione, CODESYS Profiler inserisce un codice aggiuntivo all'ingresso e all'uscita di ogni funzione del programma. I tempi di esecuzione di un intero ciclo di attività vengono misurati e memorizzati.

Il metodo è utile per rilevare singoli valori anomali nei runtime delle attività. Per fare ciò, seleziona il Registra il ciclo massimo modalità di registrazione.

Quando l'intero progetto è strumentato, ciò può avere un impatto considerevole sui tempi di esecuzione delle attività e sul consumo di memoria. Pertanto, quando possibile, selezionare solo una parte delle POU dell'applicazione per la strumentazione. Un approccio consigliato consiste nel selezionare prima solo le POU richiamate direttamente dall'attività. Determinare i "punti caldi" del runtime per queste POU e quindi, in base a questi, selezionare le POU chiamate per la misurazione.

Importante

  • Le POU non selezionate per la misurazione non vengono visualizzate nell'elenco delle misurazioni, nell'albero delle chiamate o nelle schede di backtrace. Pertanto, è possibile che venga visualizzato un albero delle chiamate "POU1 -> POU3", sebbene non vi sia alcun richiamo diretto di POU3 da parte di POU1. Questo perché ci sono chiamate POU che non sono selezionate per la misurazione tra POU1 e POU3.

  • L'uscita "tempo proprio" nella misurazione per una POU può contenere anche tempi di POU richiamati che non sono selezionati per la misurazione.

Attivazione ed esecuzione della profilazione tramite strumentazione

Requisiti:

  • UN CODESYS l'applicazione del progetto con più POU è aperta in modalità offline.

  • Viene definita un'attività per controllare le chiamate POU.

  • L'applicazione è l'applicazione attiva e può essere compilata senza errori.

  • Nelle impostazioni di comunicazione è configurata una connessione al controller standard e il controller è in esecuzione.

  1. Per attivare e disattivare la profilatura a livello di codice, definire una variabile booleana nell'applicazione. (Questo è facoltativo per l'esempio qui descritto. L'attivazione può essere eseguita anche tramite un comando di menu.)

  2. Clic Aggiungi oggetto per aggiungere un Profiler oggetto sotto l'applicazione nella struttura dei dispositivi.

  3. Fare doppio clic sull'oggetto.

    Si apre l'editor degli oggetti. Il _prf_icon_settings.png Impostazioni la scheda è a fuoco.

  4. Impostare il Metodo a Strumentazione. Seleziona il Compito con le chiamate POU su cui si desidera eseguire misurazioni del tempo.

  5. Sotto Registrazione, selezionare l'attività per il controllo delle POU da strumentare.

    Per Condizione, clicca il _cds_icon_three_dots.png e selezionare la variabile booleana dall'applicazione che si desidera utilizzare per attivare e disattivare la registrazione del valore. Nota: l'utilizzo di questo tipo di variabile è facoltativo. Se lasci il campo vuoto, ogni ciclo viene registrato.

  6. Sotto Parametri della strumentazione, impostare il Modalità di registrazione a Registra il prossimo ciclo. Lascia il necessario Dimensione buffer (il numero massimo di chiamate POU registrate per ciclo di attività) come impostazione predefinita 10000.

    Sotto Aspetto dell'istantanea, seleziona il Formato orario per visualizzare la registrazione.

  7. Nel Selezione POU, selezionare le POU che devono essere strumentate. Si noti che è anche possibile selezionare "Strumento intero applicazione", che includerebbe tutte le POU del progetto così come le POU delle librerie integrate.

  8. Clic In linea → Accedi per scaricare l'applicazione nel controller.

    Il display _prf_img_status.png viene visualizzato nella barra di stato di CODESYS.

  9. Clic In linea → Inizia per avviare l'applicazione.

    Il progetto viene eseguito e vengono visualizzati i valori delle variabili correnti nella consueta vista di monitoraggio.

  10. Se hai configurato una variabile booleana come condizione per iniziare la profilatura, ora imposta questa variabile su TRUE.

    Informazioni di base sulla registrazione: poiché hai selezionato il file Registra il prossimo ciclo opzione in questo esempio, viene registrato solo il primo ciclo all'avvio dell'applicazione e la profilazione. Non viene registrato alcun ciclo aggiuntivo. Una misurazione aggiuntiva viene eseguita solo quando una registrazione viene caricata dal controller. Questo caricamento viene eseguito aprendo il file in linea scheda per la prima volta o facendo clic su Aggiorna istantanea pulsante. Per informazioni sull'alternativa Registra il ciclo massimo opzione, vedere la parte di riferimento della guida: scheda 'Impostazioni'.

    Ora guarda i risultati del campionamento. Aprire l'editor dell'oggetto Profiler e relativo in linea scheda.

    Il _prf_icon_online.png in linea la scheda fornisce quattro sottoschede che possono essere selezionate dal menu sul lato sinistro. Inoltre, viene visualizzata un'area con pulsanti e impostazioni per la profilatura attualmente in esecuzione. Per ulteriori informazioni, vedere: Scheda "In linea".

Procedura. Informazioni dettagliate su una chiamata POU in Proprietà dialogo
  1. Sul in linea scheda, fare clic su Albero delle chiamate categoria.

    Viene visualizzata la gerarchia di tutte le chiamate che hanno avuto origine dall'attività specificata in Impostazioni dialogo.

  2. Seleziona una delle chiamate e fai clic Proprietà nel menu contestuale.

    Il Proprietà si apre la finestra di dialogo per la POU richiamata con informazioni dettagliate, ad es Il proprio tempo e Deviazione standard.