Introduzione alla programmazione di Add-Ins - TIA Portal

Introduzione al TIA Portal

ft:publication_title
Introduzione al TIA Portal
Product
TIA Portal
Version
V21
Publication date
11/2025
Language
it-IT
Introduzione alla programmazione di Add-Ins

Introduzione

Tramite gli Add-Ins è possibile ampliare il TIA Portal con ulteriori funzioni. Queste funzioni possono essere integrate come menu di scelta rapida nell’interfaccia utente di TIA Portal o utilizzate per ampliare determinati workflow. È possibile programmare menu di scelta rapida per le seguenti aree:

  • Navigazione del progetto

  • Task Card "Biblioteche": biblioteca di progetto e biblioteche globali

  • Editor hardware e di rete

  • Workspace Version Control Interface

È possibile stabilire autonomamente quali elementi debbano essere visibili e cliccabili e definire le relative condizioni.

Nel menu di scelta rapida possono essere utilizzati i seguenti elementi:

  • Sottomenu

  • Pulsanti semplici cliccabili

  • Pulsanti con casella di controllo

  • Pulsanti con caselle di scelta

Le informazioni sui workflow che possono essere ampliati utilizzando Add-Ins si trovano in "Nozioni di base sugli Add-Ins".

Il programma per un Add-In viene creato con C# e l'API di TIA Portal Openness. A tal fine si dovrà creare una biblioteca di classi, dalla quale verrà generato un file .addin. Le descrizioni e gli esempi in questa Guida si basano a questo scopo su Microsoft Visual Studio. Se si utilizza un ambiente di sviluppo diverso, in caso di domande consultare la documentazione di tale ambiente di sviluppo.

Presupposti

Per programmare un Add-In per il TIA Portal sono richieste le seguenti conoscenze:

  • Conoscenze di C# e .NET

  • Conoscenze di TIA Portal Openness

Panoramica sulla creazione del programma

Per programmare un Add-In, generare prima di tutto un progetto C# e aggiungere i riferimenti necessari. Un Add-In semplice è composto almeno dalle due seguenti classi:

  • View Provider: in questa classe vengono definite le aree in cui visualizzare il menu di scelta rapida. Per ciascuna area deve essere programmato un proprio provider, dunque una propria classe:

    • ProjectTreeAddInProvider: navigazione del progetto

    • GlobalLibraryTreeAddInProvider: biblioteche globali

    • ProjectLibraryTreeAddInProvider: biblioteca di progetto

    • DevicesAndNetworksAddInProvider: editor hardware e di rete

    • VciEditorAddInProvider: Workspace Version Control Interface

  • Menu di scelta rapida: in questa classe viene definito il menu di scelta rapida con le relative voci. Se l'Add-In non è molto esteso, in questa classe è possibile creare anche il proprio codice di programma.

Per creare il codice di programma eseguibile per il pulsante utilizzare C# e l'API di TIA Portal Openness. Si possono inoltre configurare le seguenti informazioni in un file in formato XML:

  • Informazioni sul prodotto: Nome, ID, versione

  • Autorizzazioni

  • Informazioni sui certificati

  • Visualizzazione di Add-In in una sessione multiutente

Terminata la programmazione dell'Add-In è necessario convertire il file dll generato in un file con l’estensione ".addin". Per la conversione utilizzare il programma apposito "Siemens.Engineering.AddIn.Publisher.exe" e il file di configurazione creato. Il file addin si copia nella directory corrispondente per questo tipo di Add-In. Successivamente sarà possibile attivare e utilizzare l'Add-In in TIA Portal.

Vedere anche: Nozioni di base sugli Add-Ins

Nota

Osservare le avvertenze seguenti:

  • L'Add-In viene scaricato dopo l'esecuzione e, pertanto, l'istanza in esecuzione non può più essere utilizzata. Ciò significa che i compiti in esecuzione da più tempo in un background thread vengono annullati. Avviare un nuovo processo per i compiti la cui esecuzione prevede un tempo più lungo.

  • Non si consiglia di chiudere un progetto da un Add-In di TIA Portal.

  • A partire dalla versione 21 di TIA Portal, la cartella "PublicApi\V<numero di versione>.AddIn" viene unita alla cartella "PublicApi\V<numero di versione>". La cartella specifica per gli Add-In non è più disponibile.

Autorizzazioni

Nel file di configurazione è possibile configurare le seguenti autorizzazioni per Add-In nell'elemento "RequiredPermissions":

  • TIAPermissions: Diritti di scrittura e di lettura di TIA Portal

  • SecurityPermissions: Diritti rilevanti per la sicurezza, ad es. l'avvio di processi

  • UnrestrictedPermissions: Accesso illimitato a TIA Portal

Non è possibile utilizzare insieme "SecurityPermissions" e "UnrestrictedPermissions". È possibile assegnare diritti specifici con "SecurityPermissions" o consentire tutti gli accessi con "UnrestrictedPermissions". L'accesso illimitato è necessario, ad es., se si desidera accedere Microsoft Interop API o utilizzare determinati riferimenti.

Osservare che gli Add-In con accesso illimitato dispongono di tutti i diritti dell'utente connesso. Hanno quindi più diritti e sono potenzialmente pericolosi perché potrebbero consentire anche l'esecuzione di codici dannosi. Pertanto, è necessario specificare il motivo dell'accesso illimitato nel file di configurazione. Questo motivo viene visualizzato in TIA Portal nella task card "Add-Ins" all'interno della tavolozza "Dettagli".

Miglioramenti della performance

A partire da TIA Portal V20 gli Add-Ins vengono sempre caricati e non vengono rigenerati dopo ogni esecuzione come nelle versioni precedenti. In questo modo si riduce al minimo il carico di lavoro supplementare causato dalla ripetizione di operazioni come la creazione e l'inizializzazione. ecc. e si migliorano le prestazioni complessive. Questo risolve il problema per cui il menu contestuale degli Add-Ins a volte non viene visualizzato a causa di un timeout.

Questo cambiamento di strategia comporta anche un notevole cambiamento per l'autore degli Add-Ins. Con questo nuovo comportamento per cui gli Add-Ins vengono sempre caricati, gli oggetti di engineering utilizzati come Variabili membro non vengono reinizializzati ad ogni esecuzione. È quindi possibile che gli oggetti di engineering utilizzati come Variabili membro abbiano un valore obsoleto o errato oppure che possa verificarsi un timeout.

Per limitare questo tipo di implementazione potenzialmente errata negli Add-Ins, al momento della pubblicazione tutti i membri delle classi vengono controllati per verificare la presenza di oggetti di engineering utilizzati come Variabili membro, ad eccezione dell'oggetto System.Engineering.TiaPortal. Quest'ultimo può ancora essere una variabile member. Se viene rilevato un errore di questo tipo, la pubblicazione non viene eseguita e compare un messaggio di errore nell'IDE e nei protocolli di pubblicazione. Per correggere l'errore, l'autore dell'Add-In deve spostare gli oggetti di engineering nell'ambito di validità locale all'interno dei metodi della classe. Questa limitazione si applica ai campi statici e non statici, alle proprietà e alle strutture negli Add-Ins e nelle loro unità di riferimento.

Se un Add-In deve essere creato come variabili membro nonostante l'utilizzo di oggetti di engineering, è possibile utilizzare il parametro "-- skipEngMemberCheck" o "-s" per il richiamo del programma "Siemens.Engineering.AddIn.Publisher.exe". In questo modo si salta la verifica dell'esistenza variabili membro di questo tipo. In questo caso, tuttavia, è responsabilità dell'autore gestire la durata di questi oggetti. È necessario osservare che ora gli Add-In vengono sempre caricati.

Modifiche da TIA Portal V21

Suddivisione in Assembly

L'Add-In Assembly "Siemens.Engineering.AddIn.dll" è stato suddiviso in più Assembly. L'Openness Generator utilizzato per la creazione di Add-In Assembly sul computer dell'utente non sarà più disponibile a partire dalla V21.

Fino a TIA Portal V20, per creare un Add-In era sufficiente un riferimento al file "Siemens.Engineering.AddIn.dll" nel progetto Add-In. A partire da TIA Portal V21, è necessario un riferimento a "Siemens.Engineering.AddIn.Base.dll" e al relativo "Siemens.Engineering.Base.dll" dipendente, come indicato nella tabella seguente. I relativi assembly segmentati e le loro dipendenze devono quindi essere referenziati in base ad API da utilizzare nel progetto dell'Add-In.

La seguente tabella mostra i nuovi assembly Add-In segmentati:

Prodotti suddivisi

TIA Portal e configurazione hardware (HWCN)

Step7

Safety

Add-In Assembly separati

Siemens.Engineering.AddIn.Base.dll

Siemens.Engineering.AddIn.Step7.dll

Siemens.Engineering.AddIn.Safety.dll

Dipendenze

Siemens.Engineering.Base.dll

Siemens.Engineering.Base.dll

Siemens.Engineering.AddIn.Base.dll

Siemens.Engineering.Step7.dll

Siemens.Engineering.Base.dll

Siemens.Engineering.AddIn.Base.dll

Siemens.Engineering.Safety.dll

Siemens.Engineering.Step7.dll

Se ad es. l'Add-In utilizza API relativi a Step7, nel progetto devono essere referenziati i seguenti DLL:

  • Siemens.Engineering.AddIn.Base.dll

  • Siemens.Engineering.Base.dll

  • Siemens.Engineering.AddIn.Step7.dll

  • Siemens.Engineering.Step7.dll

Nessun supporto per i computer a 32 bit

Lo sviluppo e l'esecuzione degli Add-In sui computer a 32 bit non sono più supportati.

Cartella degli Add-In

La cartella "PublicApi\V<numero di versione>.AddIn" è stata unita alla cartella "PublicApi\V<numero di versione>". La cartella specifica per gli Add-In non è più disponibile.

Nota

Adattamento richiesto per gli Add-in di TIA Portal versione V20 e precedenti

Gli Add-In disponibili, ovvero sviluppati per TIA Portal V20 e precedenti, non funzionano più nella V21. Questi Add-In disponibili devono essere adattati al nuovo procedimento nel modo seguente:

  • Aggiornare i riferimenti: Rimuovere il riferimento precedente a "Siemens.Engineering.AddIn.dll" e aggiungere il nuovo riferimento agli Assembly segmentati come descritto sopra.

  • Se vengono utilizzati gli Add-In API quali Feedback API, Progress API e MessageBox API, aggiornare queste implementazioni in base al nuovo procedimento descritto nella sezione relativa agli Add-In API.

TIA Portal Add-In Development Tools

Il progetto C# e le classi e i metodi necessari possono essere creati manualmente in base alle descrizioni che seguono o con i TIA Portal Add-In Development Tools. I TIA Portal Add-In Development Tools facilitano le seguenti operazioni:

  • Creazione del progetto C#

    Per creare il progetto C# per l'Add-In si può utilizzare un modello di progetto. Così il progetto creato contiene già importanti classi e metodi.

  • Creazione del codice di programma

    Utilizzando i modelli è possibile creare una struttura di programma per il tipo di Add-In desiderato. Quindi si possono programmare le funzioni desiderate.

  • Compilazione e debug

    I TIA Portal Add-In Development Tools semplificano la compilazione e il debug del codice del programma.

Possono essere utilizzati in Microsoft Visual Studio 2019 o 2022 o in Visual Studio Code i TIA Portal Add-In Development Tools.

Maggiori informazioni sui TIA Portal Add-In Development Tools e i file di installazione necessari si trovano nel DVD 2 del pacchetto di installazione di TIA Portal.