Con il comando 'Project > Confronto progetti...' si possono comparare le sorgenti di due progetti.
Per mettere a confronto due progetti non è necessario compilarli prima. In questo modo, si possono comparare anche progetti non compilabili.
In questo caso i fogli di lavoro (FdL) di codice in TS costituiscono un'eccezione. Questi devono essere compilati in modo che le modifiche apportate al codice vengano riconosciute durante il confronto progetti.
Entrambi i progetti da mettere a confronto devono essere stati editati o perlomeno aperti una volta con SoSafe Programmable V2.x o Machine Expert – Safety V1.x o posteriori.
Questa sezione contiene informazioni sui seguenti argomenti:
I risultati forniti dal confronto progetti in Machine Expert – Safety non devono contribuire (né direttamente né indirettamente) al codice eseguibile (ad inclusione dei dati) del sistema applicativo di sicurezza. La funzione di confronto progetti di Machine Expert – Safety è classificata come strumento T1 a norma 61508:4:2010.
Per un'identificazione affidabile delle parti di progetto modificate, i risultati del confronto progetti sono previsti esclusivamente per l'uso in combinazione con il confronto a mano delle somme di controllo (CRC) calcolate da Machine Expert – Safety. I CRC sono visualizzati nel dialogo 'Info progetto' e, per le UOP verificate, nell'albero di progetto.
I CRC sono la sola base valida per identificare affidabilmente le modifiche apportate a un progetto di sicurezza. Lo strumento di confronto progetti di Machine Expert – Safety qui descritto assiste l'utente nel trovare dettagli modificati in parti del progetto con CRC differenti.
AVVERTIMENTO | |
---|---|
Procedimento generale per il rilevamento di sicurezza di modifiche a un progetto:
Confrontare a mano
i CRC riportati nel dialogo 'Info progetto' ('Progetto > Informazioni progetto', scheda 'Progetto') del progetto caricato in Machine Expert – Safety
con i CRC nella documentazione di progetto archiviata del progetto da confrontare.
CRC diversi indicano che la relativa parte del progetto è stata modificata.
CRC identici indicano che la relativa parte del progetto non è stata modificata.
Se i valori per 'CRC logica' differiscono, potete usare la funzione di verifica UOP per localizzare le unità di organizzazione programma (UOP) modificate.
A tal fine, mettere a confronto a mano
i CRC delle unità di organizzazione programma (UOP) riportati nelle icone UOP dell'albero di progetto
con i CRC delle UOP nella documentazione di progetto archiviata del progetto da confrontare.
(La somma di controllo calcolata da Machine Expert – Safety in occasione della verifica è stampata – sotto il nome della UOP – in calce a ogni FdL di codice e FdL per variabili locali della UOP verificata.)
In base ai risultati del confronto CRC ottenuti nei passi 1 e 2 si può utilizzare il confronto progetti come descritto in questa sezione per localizzare le modifiche apportate al progetto.
Alla ricerca di differenze, il confronto progetti sfoglia i seguenti elementi del progetto:
Parte di progetto |
Differenze identificate |
Modifiche non rilevabili |
---|---|---|
Struttura del progetto (Cartella 'UOP logiche') |
UOP aggiunte, rinominate o eliminate FdL di codice aggiunti, rinominati o eliminati Ordine modificato di FdL di codice in UOP |
Biblioteche aggiunte/eliminate FdL descrittivi aggiunti |
Codice SBF/LD |
Qualsiasi differenza rilevante per il codice e nei commenti. Cosa significa "rilevante per il codice"? Ogni modifica che influisce sul risultante codice dell'applicazione viene considerata come rilevante per il codice. Oltre all'inserimento, alla cancellazione e alla modifica di oggetti di codice, ciò include anche tutte le modifiche che influiscono sulla sequenza di esecuzione, come, ad esempio, lo spostamento di un intero network di codice. Per converso, lo spostamento di singole variabili, oggetti LD o funzioni / blocchi di funzione in un'altra posizione del foglio di lavoro modifica il layout visibile ma non influisce sulla sequenza di esecuzione sul controllore Safety Logic Controller. Le modifiche di questo tipo perciò non sono considerate rilevanti per il codice e non vengono rilevate in sede di confronto. |
Nessuna |
Codice TS |
Qualsiasi differenza Il confronto progetti però non offre una rappresentazione grafica delle differenze identificate. Se è implementato nella vostra versione di Machine Expert – Safety, a tal fine si può usare uno strumento di confronto esterno. |
Nessuna |
Fogli di lavoro (FdL) per variabili |
Qualsiasi differenza Il confronto progetti però non offre una rappresentazione grafica delle differenze identificate. Se è implementato nella vostra versione di Machine Expert – Safety, a tal fine si può usare uno strumento di confronto esterno. |
Nessuna |
FdL descrittivi |
Nessuna |
Non inclusa nel confronto progetti. |
Dialogo Info progetto |
Nessuna |
Non inclusa nel confronto progetti. |
Parametrizzazione di dispositivi di sicurezza |
Qualsiasi modifica nell'editore di parametrizzazione dispositivi di sicurezza |
Nessuna |
Le differenze identificate sono elencate nello spazio di lavoro Project Comparer che si apre automaticamente.
Leggere e rispettare le istruzioni riportate nella sezione "Trovare affidabilmente modifiche al progetto rilevanti per la sicurezza" prima di mettere a confronto progetti.
Dato che il progetto Machine Expert – Safety fa parte del progetto Machine Expert, per il confronto si può selezionare il progetto Machine Expert. La funzione di confronto progetti compara le parti relative alla sicurezza che contiene. È possibile anche comparare progetti di sicurezza che sono stati esportati da Machine Expert – Safety.
Aprire il progetto da comparare (progetto A) assieme a un altro progetto (B).
L'estensione file di un progetto Machine Expert è *.project.
L'estensione file di un progetto di sicurezza esportato è *.spa.
Selezionare 'Progetto > Confronto Progetti...' e selezionare il progetto da comparare (progetto B) con il progetto attuale (A).
Si può selezionare o un progetto Machine Expert (si veda la nota sopra) o un progetto di sicurezza esportato (*.spa).
Il confronto poi parte automaticamente.
Se il progetto attuale (A) è stato modificato ma non ancora salvato, vi viene prima chiesto di salvare le modifiche.
Se non si salvano queste modifiche, viene messa a confronto l'ultima versione di progetto salvata. Le modifiche che avete apportato, comunque, non vengono scartate.
Dopo l'avvio del confronto, appare lo spazio di lavoro Project Comparer che visualizza i risultati. (Se lo spazio di lavoro Project Comparer è già aperto visualizzando un confronto precedente, i contenuti vengono aggiornati.)
Leggere e rispettare le istruzioni riportate nella sezione "Trovare affidabilmente modifiche al progetto rilevanti per la sicurezza" prima di utilizzare i risultati del confronto progetti.
AVVERTIMENTO | |
---|---|
Lo spazio di lavoro Project Comparer si apre automaticamente all'avvio del confronto. Consiste di due sezioni (si veda la figura esemplare alla fine di questo argomento).
L'elenco delle 'Differenze' (parte bassa dello schermo) visualizza le differenze identificate in ordine gerarchico e raggruppandole. Sono elencabili i seguenti gruppi (a dipendere dalle differenze identificate): Modifiche al progetto, modifiche al codice, modifiche a variabili, modifiche a SDIO e modifiche al Bus Navigator.
Ogni nodo di gruppo si può espandere per visualizzare i dettagli contenuti, come i FdL o moduli coinvolti. Espandendo oltre un nodo di dettaglio, vengono visualizzate le modifiche identificate.
Un determinato gruppo si espande e comprime nella maniera consueta, cliccando sul simbolo '+' o '-' all'inizio della relativa voce. Per espandere/comprimere tutte le voci dell'elenco, cliccare con il tasto destro nella vista di elenco e selezionare il comando del menu di contesto 'Espandi tutto' o 'Comprimi tutto'. I simboli accanto alle voci dell'elenco indicano il tipo di modifica:
![]() |
Elemento aggiunto |
![]() |
Elemento modificato/aggiornato |
![]() |
Elemento eliminato |
![]() |
Elemento spostato |
Vista di confronto codice (parte alta dello schermo): Fogli di lavoro (FdL) di codice SBF/LD differenti nei due progetti si possono visualizzare affiancati in modalità di sola lettura. A tal fine, cliccare su una voce nell'elenco delle 'Differenze'. Gli oggetti SBF/LD differenti rilevanti per il codice (ad inclusione dei commenti) sono evidenziati da bordi colorati e uno sfondo grigio. (Le differenze in parti di progetto che non siano codice SBF/LD in opzione si possono visualizzare con uno strumento di confronto esterno.)
Cosa significa "rilevante per il codice"?
Ogni modifica che influisce sul risultante codice dell'applicazione viene considerata come rilevante per il codice. Oltre all'inserimento, alla cancellazione e alla modifica di oggetti di codice, ciò include anche tutte le modifiche che influiscono sulla sequenza di esecuzione, come, ad esempio, lo spostamento di un intero network di codice.
Per converso, lo spostamento di singole variabili, oggetti LD o funzioni / blocchi di funzione in un'altra posizione del foglio di lavoro modifica il layout visibile ma non influisce sulla sequenza di esecuzione sul controllore Safety Logic Controller. Le modifiche di questo tipo perciò non sono considerate rilevanti per il codice e non vengono rilevate in sede di confronto.
Colore |
Significato |
Esempio |
---|---|---|
Verde |
Nuovi oggetti inseriti nel progetto. Visibili solo nel codice a sinistra. |
![]() |
Blu |
Oggetti modificati. Visibili nel codice a sinistra e a destra. |
![]() |
Rosso |
Oggetti eliminati. Visibili solo nel codice a destra. |
![]() |
Arancione |
Schema che è stato spostato in un'altra posizione del FdL. Visibili nel codice a sinistra e a destra. Tenere conto della spiegazione relativa alle "modifiche rilevanti per il codice" più sopra. |
![]() |
Funzioni dello spazio di lavoro Project Comparer:
Scorrimento in sincrone della vista di confronto codice.
Se è selezionato il comando di menu 'Extra > Sincronizza scorrimento' dello spazio di lavoro Project Comparer, le posizioni dei due FdL di codice scorrono in sincrone (in orizzontale e in verticale). Ciò permette il confronto di codice anche in FdL di grandi dimensioni.
Se i FdL visualizzano posizioni di codice differenti quando si seleziona il comando di menu, questi vengono sincronizzati alla stessa posizione.
Avviare uno strumento di confronto esterno
Machine Expert – Safety supporta strumenti di confronto esterni (ad esempio, Beyond Compare) per la visualizzazione di differenze in parti di progetto che non siano codice SBF/LD. Dopo aver installato e configurato correttamente lo strumento esterno, lo potete avviare dal menu di contesto delle relative voci nell'elenco delle 'Differenze'. Fare riferimento alla sezione "Strumento di confronto esterno" per informazioni.
Accedere a una determinata posizione di codice per editarla
Nella vista comparativa del codice l'editazione non è possibile (sola lettura). È però possibile saltare direttamente nei FdL di codice del progetto aperto per primo ed editare questi FdL. Il "progetto di riferimento" (selezionato come secondo progetto) non è accessibile in questo modo.
Cliccare con il tasto destro sulla voce che interessa nell'elenco delle 'Differenze' e selezionare il comando 'Edita sorgente' dal menu di contesto.
Oppure fare doppio clic sulla posizione di codice che interessa nel pannello sinistro della vista di confronto codice.
Stampare i risultati del confronto
Il menu 'File' dello spazio di lavoro Project Comparer mette a disposizione comandi per stampare e visionare in anteprima i risultati del confronto.
Esempio
Lo strumento di confronto esterno qui descritto è supportato a partire da Machine Expert V2.0.
Lo spazio di lavoro Project Comparer visualizza una rappresentazione grafica delle differenze identificate nel codice SBF/LD in una vista comparativa del codice. Differenze nel codice TS, nelle tabelle dei parametri di variabili/dispositivi o nell'albero di progetto altresì non sono visualizzabili nella vista di confronto codice (sono però riportate nell'elenco delle 'Differenze').
Machine Expert – Safety supporta ogni comune strumento di confronto esterno, come ad esempio Beyond Compare. Può essere usato per visualizzare differenze in queste parti del progetto.
A condizione che sia installato e configurato lo strumento esterno (si veda la sezione seguente), il comando del menu di contesto 'Apri strumento di confronto esterno...' è disponibile per le relative voci nell'elenco delle 'Differenze'. Dopo aver avviato lo strumento di confronto esterno in questo modo, il progetto di confronto più vecchio (il progetto B selezionato nel passo 2) viene visualizzato a destra e il progetto attuale (A) a sinistra.
Machine Expert – Safety trasferisce copie dei progetti allo strumento di confronto esterno per evitare che si possano verificare modifiche accidentali dei file originali.
Per configurare lo strumento di confronto esterno si possono utilizzare le funzioni specifiche dello strumento. È ad esempio possibile specificare una protezione contro scrittura per il progetto a destra o a sinistra (ad es. /leftreadonly
con Beyond Compare). Per la visualizzazione dei risultati del confronto si possono utilizzare i comando messi a disposizione dallo strumento.
Per informazioni sui parametri di riga di comando e gli altri comandi disponibili nello strumento di confronto esterno si veda la relativa documentazione del software (per Beyond Compare, ad esempio, la Guida online).
Come configurare uno strumento di confronto esterno
In Machine Expert – Safety, selezionare 'Progetto > Configurare strumento di confronto esterno…'.
Nel dialogo di configurazione, indicare il percorso al programma eseguibile installato sul vostro PC.
Esempi:
Beyond Compare: C:\Program Files (x86)\Beyond Compare\BComp.exe
TortoiseSVN: C:\Program Files\TortoiseSVN\bin\TortoiseMerge.exe
Nella sezione inferiore del dialogo, specificare i seguenti parametri di riga di comando, indipendentemente dallo strumento esterno scelto:
%base %mine
%base
rappresenta il progetto attualmente aperto in Machine Expert – Safety (progetto A) e%mine
rappresenta l'antecedente progetto di confronto (B).
All'avvio dello strumento esterno, i parametri %base
e %mine
vengono sostituiti con i corrispondenti nomi di file dall'elenco delle 'Differenze'.
Il parametro %worksheet
si può utilizzare in aggiunta per trasmettere i nomi dei FdL allo strumento esterno.
Ove necessario, alla riga di comando inoltre è possibile aggiungere parametri dello specifico strumento.
È facoltativo specificare una protezione contro scrittura per il progetto attuale visualizzato sul lato sinistro.
Beyond Compare, ad esempio, supporta i parametri /leftreadonly
, /rightreadonly
e /readonly
.
Esempi di riga di comando per Beyond Compare:
%base %mine /leftreadonly
dà adito a un progetto attuale protezione contro scrittura visualizzato sul lato sinistro.
%base %mine /title1=%worksheet /title2=%worksheet /leftreadonly
dà adito a un progetto attuale protetto contro scrittura, con i nomi dei FdL visualizzati come titoli su entrambi i lati in Beyond Compare.
Esempio di riga di comando per TortoiseSVN:
/base:%base /mine:%mine /basename:%worksheet /minename:%worksheet /readonly