Creazione del codice di programma degli 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
Creazione del codice di programma degli Add-Ins

La creazione del codice di programma per l'Add-In avviene con C# e l'API di TIA Portal Openness. Accertarsi che siano disponibili tutti i riferimenti necessari e le direttive using. Generalmente per il proprio Add-In possono essere utilizzate tutte le funzioni dell'API di TIA Portal Openness. Per le due funzioni indicate di seguito è necessario tuttavia osservare alcune particolarità:

  • Avviare un altro processo tramite l'Add-In:

    Oltre al codice di programma per il collegamento, l'avvio di un nuovo processo richiede il consenso nel file di configurazione.

  • Creazione di un collegamento ad un'altra istanza di TIA Portal:

    Per poter creare Add-Ins è necessario un riferimento all'assembly "Siemens.Engineering.AddIn.dll". Per avviare un'altra istanza di TIA Portal è inoltre necessario un riferimento all'assembly "Siemens.Engineering.dll". Le due assembly contengono tuttavia alcuni tipi di nomi uguali completi. Per comunicare al compiler da quale assembly debba provenire il tipo da impiegare è possibile utilizzare un alias esterno dell'assembly. Questa operazione funziona come nello spazio dei nomi. Se mancano gli alias viene segnalato un errore di compilazione.

Avviare un altro processo tramite l'Add-In

Per avviare un ulteriore processo utilizzando un Add-In procedere nel seguente modo:

  1. Aprire il file di configurazione.

  2. Come contenuto della variabile "SecurityPermissions" inserire il seguente codice:

    <Siemens.Engineering.AddIn.Permissions.ProcessStartPermission>

    <Comment> Commento a piacere </Comment>

    </Siemens.Engineering.AddIn.Permissions.ProcessStartPermission>

  3. Se non è ancora stato creato un riferimento al file "Siemens.Engineering.AddIn.Utilities.dll" aggiungere questo.

  4. Creare il codice di programma desiderato per l'avvio del processo.

La seguente tabella riepiloga le proprietà della classe "Siemens.Engineering.AddIn.Utilities.Process":

Nome

Tipo

StartInfo

ProcessStartInfo

HasExited

bool

ExitCode

int

Responding

bool

Id

int

StartTime

DateTime

ExitTime

DateTime

ProcessName

String

StandardOutput

StreamReader

StandardError

StreamReader

StandardInput

StreamWriter

EnableRaisingEvents

bool

L'elenco sottostante mostra i metodi della classe "Siemens.Engineering.AddIn.Utilities.Process":

  • public bool Start ()

  • public static Siemens.Engineering.AddIn.Utilities.Process Start (Siemens.Engineering.AddIn.Utilities.ProcessStartInfo startInfo)

  • public static Siemens.Engineering.AddIn.Utilities.Process Start (string fileName)

  • public static Siemens.Engineering.AddIn.Utilities.Process Start (string fileName, string arguments)

  • public static Process Start(string fileName, string userName, System.Security.SecureString password, string domain)

  • public static Process Start(string fileName, string arguments, string userName, System.Security.SecureString password, string domain)

  • public void Close()

  • public void Kill()

  • public void Refresh()

  • public bool WaitForExit()

  • public bool WaitForExit(int milliseconds)

  • public void BeginErrorReadLine()

  • public void BeginOutputReadLine()

  • public void CancelErrorRead()

  • public void CancelOutputRead()

  • public bool CloseMainWindow ()

L'elenco sottostante mostra gli eventi della classe "Siemens.Engineering.AddIn.Utilities.Process":

  • ErrorDataReceived

  • OutputDataReceived

  • Exited

Tenere presente che queste proprietà, metodi ed eventi possono essere impiegati esattamente come previsto in .NET.

Esempio di un semplice richiamo del processo senza argomenti:

Siemens.Engineering.AddIn.Utilities.Process process = Siemens.Engineering.AddIn.Utilities.Process.Start(@"C:\Program Files\MyProgram\MyProcess.exe");

Creazione di un collegamento ad un'altra istanza di TIA Portal

Per configurare un collegamento con un'altra istanza di TIA Portal; procedere nel seguente modo:

  1. Aprire il progetto C#.

  2. Selezionare il nuovo riferimento "Siemens.Engineering.dll" e aprire "Proprietà".

  3. Nel campo "Alias", inserire un nome alias, ad es. "OpnsAPI". Può trattarsi di un testo qualsiasi.

  4. Selezionare il riferimento al file "Siemens.Engineering.AddIn.dll" e aprire le proprietà.

  5. Nel campo "Alias", inserire un nome alias, ad es. "AddInAPI". Può trattarsi di un testo qualsiasi.

  6. Nelle direttive, indicare le due direttive alias seguenti:

    • extern alias <Nome alias di Openness API>

    • extern alias <Nome alias dell' Add-In API>

  7. Se si configura il collegamento ad una nuova istanza di TIA Portal, utilizzare i nomi alias come prefisso. Esempio:

    OpnsApi::Siemens.Engineering.TiaPortal newTiaPortalInstance = new OpnsApi::Siemens.Engineering.TiaPortal();

Se si cerca di collegarsi da TIA Portal Openness a una copia in esecuzione di TIA Portal e non è stata creata una voce apposita in nella whitelist, TIA Portal chiede se si vuole accettare o rifiutare il collegamento. Consultare anche il capitolo "Firewall di TIA Portal Openness" nella documentazione di Openness. Per ragioni di sicurezza si sconsiglia di selezionare "Sì verso tutti".