Query dipendenza (Selezione)

Query dipendenza (Selezione)

Per impostazione predefinita sono disponibili le query seguenti (dall'installazione di EcoStruxure Machine Expert).

Gruppo: Misc

Nome

Descrizione

Call Graph

Descrizione: questa catena di query genera una vista dipendenza con le POU che fungono da chiamanti o vengono chiamate da un'altra POU dell'ambito selezionato (ad esempio, definito sotto l'Applicazione).

Risultati: supponendo che sia definito solo un task ed eseguito solo un programma (PRG), l'immagine risultante è una struttura delle POU collegate tramite edge di chiamata.

Se sono definiti più task o eseguiti più programmi (PRG), la chiamata o meno di una POU comune da entrambi dipende dall'implementazione. Il risultato mostra quindi più strutture di chiamata in una vista dipendenza (come un'immagine).

Caso d'uso: è possibile utilizzare la vista dipendenza per analizzare la struttura della chiamata in modo grafico e identificare quali POU vengono utilizzate da quali POU e quali POU vengono utilizzate più di una volta.

Se una POU viene chiamata più di una volta, viene stabilita automaticamente una modifica in questa POU in entrambe le strutture di chiamata.

Esempio di codice sorgente:

fbMyFunctionBlock.TestMethod();

Extend (FunctionBlock)

Descrizione: questa catena di query genera una vista dipendenza con i blocchi funzione (FB) dell'ambito selezionato (ad esempio, definito sotto l'Applicazione) che estendono un altro FB.

Come esempio, un blocco funzione di base viene chiamato FB_DriveBase. FB_DriveBase può essere esteso da FB_LXM52 e FB_LXM62.

Risultati: il risultato è un'immagine di blocchi funzione collegati tramite edge di estensione.

Da un blocco funzione sottonodo (FB non esteso da un altro FB come FB_LMX62), si ottiene la serie di FB nei relativi FB di base.

Per i FB in un progetto, è possibile vedere i FB simili che utilizzano lo stesso FB di base.

Caso d'uso: è possibile utilizzare la vista dipendenza per visualizzare la serie di estensione dei FB. È possibile vedere se vi sono elementi di pari livello che estendono lo stesso FB di base con una funzionalità simile e sostituibili da un altro. Ad esempio, è possibile utilizzare FB_LXM62 e FB_LXM52 come argomento di ingresso del metodo basato su FB_DriveBase. Questo metodo può gestire entrambi i tipi di azionamento.

Esempio di codice sorgente:

FUNCTION_BLOCK FB_MyTest EXTENDS FB_MyTestBase

Extend (Interface)

Descrizione: questa catena di query genera una vista dipendenza con le interfacce dell'ambito selezionato (ad esempio, definito sotto l'Applicazione) che estendono un'altra interfaccia.

Come esempio, un'interfaccia di base viene chiamata IF_DriveBase. È possibile estendere questa IF_DriveBase con IF_LXM52 e IF_LXM62.

Risultati: il risultato è un'immagine delle interfacce collegate tramite edge di estensione.

Da un'interfaccia di sottonodo (interfaccia non estesa da un'altra interfaccia come IF_LMX62), si ottiene la serie di interfacce nella relativa interfaccia di base.

Per le interfacce in un progetto, è possibile vedere le interfacce simili che utilizzano la stessa interfaccia di base.

Caso d'uso: è possibile utilizzare la vista dipendenza per visualizzare la serie di estensione dei FB. È possibile vedere se vi sono elementi di pari livello che estendono la stessa interfaccia di base con una funzionalità simile e sostituibili da un altro. Ad esempio, è possibile utilizzare istanze di FB che implementano IF_LXM62 o IF_LXM52 come argomento di ingresso del metodo basato su IF_DriveBase. Questo metodo può gestire entrambi i tipi di azionamento.

Esempio di codice sorgente:

INTERFACE IF_MyTest EXTENDS IF_MyTestBase

Extend Graph

Descrizione: questa catena di query genera una vista dipendenza con le interfacce e i blocchi funzione (FB) dell'ambito selezionato (ad esempio, definito sotto l'Applicazione) che estendono un'altra interfaccia.

Come esempio, un'interfaccia di base viene chiamata IF_DriveBase. È possibile estendere questa IF_DriveBase con IF_LXM52 e IF_LXM62 (lo stesso per gli FB).

Risultati: il risultato è un'immagine di interfacce e FB collegati tramite edge di estensione.

Da un'interfaccia / FB di sottonodo (interfaccia / FB non esteso da un'altra interfaccia / FB come IF_LMX62), si ottiene la serie di interfacce / FB nella relativa interfaccia / FB di base.

Per le interfacce / FB in un progetto, è possibile vedere le interfacce / FB simili che utilizzano la stessa interfaccia / FB di base.

Caso d'uso: è possibile utilizzare la vista dipendenza per visualizzare la serie di estensione di interfacce e FB insieme. È possibile vedere se vi sono elementi di pari livello che estendono la stessa interfaccia / FB di base con una funzionalità simile e sostituibili da un altro. Ad esempio, è possibile utilizzare istanze di FB che implementano IF_LXM62 o IF_LXM52 come argomento di ingresso del metodo basato su IF_DriveBase. Questo metodo può gestire entrambi i tipi di azionamento.

Esempio di codice sorgente:

FUNCTION_BLOCK FB_MyTest EXTENDS FB_MyTestBase

oppure

INTERFACE IF_MyTest EXTENDS IF_MyTestBase

GVL Graph

Descrizione: questa catena di query genera una vista dipendenza con gli elenchi di variabili globali (GVL) definiti dell'ambito selezionato (ad esempio, definiti sotto l'Applicazione).

Risultati: il risultato è un'immagine di nodi (GVL) senza edge tra loro.

Caso d'uso: è possibile utilizzare questa vista dipendenza per esplorare i GVL. È ad esempio possibile aggiungere le variabili collegate al GVL di interesse.

Esempio di codice sorgente:

VAR_GLOBAL
     G_iGVLTestVar: INT;
END_VAR

GVL+Variable Graph

Descrizione: questa catena di query genera una vista dipendenza con gli elenchi di variabili globali (GVL) definiti dell'ambito selezionato (ad esempio, definiti sotto l'Applicazione) e le variabili definite in tali GVL.

Risultati: il risultato è un'immagine di nodi (GVL + variabili) e relative dipendenze. Se in un'applicazione sono definiti più GVL, è possibile vedere i gruppi di nodi (un GVL e relative variabili). I gruppi sono nella maggior parte dei casi collegati tra loro.

Caso d'uso: è possibile utilizzare questa vista dipendenza per esplorare i GVL + variabile del progetto. È possibile aggiungere, ad esempio, nodi di lettura e scrittura per visualizzare se una variabile viene utilizzata da più snippet di codice o utilizzata solo da un nodo per essere dichiarata più localmente, ad esempio, un PRG.

Esempio di codice sorgente:

VAR_GLOBAL
     G_iGVLTestVar: INT;
END_VAR

Implement Graph

Descrizione: questa catena di query genera una vista dipendenza con i blocchi funzione (FB) che implementano interfacce dell'ambito selezionato (ad esempio, definiti sotto l'Applicazione).

Risultati: il risultato è un'immagine di interfacce e FB collegati tramite edge di implementazione.

Per i FB in un progetto, è possibile vedere quale altro FB è anche un'implementazione delle interfacce collegate.

Caso d'uso: è possibile utilizzare la vista dipendenza per visualizzare le dipendenze di implementazione dei FB. È possibile utilizzarla per visualizzare, ad esempio, le implementazioni di interfaccia mancanti se, ad esempio, più tipi di FB devono rispettare la stessa specifica che deve essere utilizzata da un metodo.

Esempio di codice sorgente:

FUNCTION_BLOCK FB_MyTest IMPLEMENTS IF_MyTest, IF_MyTest2

Implement+Extend Graph

Descrizione: questa catena di query genera una vista dipendenza con i blocchi funzione (FB) e le interfacce dell'ambito selezionato (ad esempio, definiti sotto l'Applicazione) e come sono collegati tra loro.

Risultati: il risultato è un'immagine di interfacce e FB collegati tramite edge di implementazione o edge di estensione.

Caso d'uso: questa vista dipendenza consente di visualizzare le dipendenze di implementazione ed estensione contemporaneamente.

Esempio di codice sorgente:

FUNCTION_BLOCK FB_MyTest EXTENDS FB_MyTestBase IMPLEMENTS IF_MyTest, IF_MyTest2

Library Stack

Descrizione: questa catena di query genera una vista dipendenza con le librerie utilizzate nel progetto.

Risultati: dal punto di vista dell'applicazione, si genera lo stack libreria su cui si basa l'applicazione. È possibile vedere le librerie a cui si fa riferimento direttamente e le librerie a cui si fa riferimento indirettamente.

Caso d'uso: questa vista dipendenza consente di visualizzare immediatamente lo stack di libreria in modo grafico. È possibile vedere i livelli di libreria.

Ad esempio, Applicazione > Librerie tecnologia > Libreria PacDrive > Librerie di sistema (Firmware API).

Node Graph

Descrizione: questa catena di query genera una vista dipendenza completa dei nodi dell'ambito selezionato (ad esempio, definiti sotto l'Applicazione) e come sono collegati tra loro.

Risultati: l'immagine dei risultati contiene i nodi di qualsiasi tipo (FB, PRG, FC, variabili, librerie, DUT e così via) con i diversi tipi di edge tra questi nodi.

Caso d'uso: questa vista dipendenza consente di visualizzare immediatamente il progetto completo. Tenere presente che questa vista dipendenza contiene molti diversi tipi di nodi ed edge contemporaneamente e non è possibile vedere il codice da una vista specifica (ad esempio, rispetto a una struttura di chiamata).

POU Graph

Descrizione: questa catena di query genera una vista dipendenza con i blocchi funzione/le funzioni (POU) definiti dell'ambito selezionato (ad esempio, definiti sotto l'Applicazione).

Risultati: il risultato è un'immagine di nodi (POU). Se le POU sono collegate, ad esempio, tramite un edge di chiamata, anche tale edge fa parte del risultato.

Caso d'uso: è possibile utilizzare questa vista dipendenza per esplorare le POU. Ad esempio, è possibile aggiungere le variabili collegate alla POU di interesse.

POU+Variable Graph

Descrizione: questa catena di query genera una vista dipendenza con i programmi / blocchi funzione / funzioni (POU) definiti dell'ambito selezionato (ad esempio, definiti sotto l'Applicazione) e le variabili definite in tali POU.

Risultati: il risultato è un'immagine di nodi (PRG + variabili) e relative dipendenze.

Caso d'uso: questa vista dipendenza permette di esplorare le POU e le variabili del progetto. È possibile aggiungere, ad esempio, nodi di lettura e scrittura per visualizzare se una variabile è utilizzata da più snippet di codice o utilizzata solo da un nodo, per essere dichiarata più localmente, ad esempio, in una POU.

Esempio di codice sorgente:

PROGRAM SR_MyTest
VAR
    iSRTestVar: INT;
END_VAR

Read Graph

Descrizione: questa catena di query genera una vista dipendenza con le operazioni di lettura dell'ambito selezionato (ad esempio, definito sotto l'Applicazione) in una variabile.

Risultati: il risultato è un'immagine di POU (programmi / funzioni / blocchi funzione e così via) e variabili collegate tramite un edge di lettura.

Caso d'uso: questa vista dipendenza consente di esplorare le operazioni di lettura nelle variabili e vedere se sono lette più volte o solo una volta nel progetto.

Esempio di codice sorgente:

dummy0 := iSRTestVar;

Read+Write Graph

Descrizione: questa catena di query genera una vista dipendenza con le operazioni di lettura e scrittura dell'ambito selezionato (ad esempio, definito sotto l'Applicazione) in una variabile.

Risultati: il risultato è un'immagine di POU (programmi / funzioni / blocchi funzione e così via) e variabili collegate tramite un edge di lettura o scrittura.

Caso d'uso: questa vista dipendenza consente di esplorare, ad esempio, le operazioni di lettura e scrittura nelle variabili e vedere se sono lette più volte o solo una volta nel progetto ma non scritte.

Esempio di codice sorgente:

dummy0 := iSRTestVar;
iSRTestVar := dummy0;

Write Graph

Descrizione: questa catena di query genera una vista dipendenza con le operazioni di scrittura dell'ambito selezionato (ad esempio, definito sotto l'Applicazione) in una variabile.

Risultati: il risultato è un'immagine di POU (programmi / funzioni / blocchi funzione e così via) e variabili collegate tramite un edge di scrittura.

Caso d'uso: questa vista dipendenza consente di esplorare le operazioni di scrittura nelle variabili e vedere se sono scritte più volte o solo una volta nel progetto.

Esempio di codice sorgente:

iSRTestVar := dummy0;

Device Graph

Descrizione: questa catena di query genera una vista dipendenza della struttura Dispositivi.

Risultati: la struttura Dispositivi con le istanze dei dispositivi e le relative dipendenze dei sottonodi.

Caso d'uso: questa vista dipendenza consente di visualizzare la struttura dispositivi ed esplorare il collegamento alle variabili che rappresentano i dispositivi all'interno dell'applicazione

Test Element Graph

Descrizione: questa catena di query genera una vista dipendenza degli elementi di test (Casi test, Risorse test, Set test e così via).

Risultati: gli elementi di test e la modalità di collegamento.

Caso d'uso: questa vista dipendenza consente di ottenere una panoramica per cui Caso test riutilizza Risorse test o Set test e passare agli elementi sottoposti a test (funzioni, metodi, blocchi funzione e così via).