Esempio di Connessioni industriali
La funzionalità Connessioni industriali di ThingWorx consente di connettersi a ThingWorx Kepware Server per modellare, configurare e associare tag esistenti in ThingWorx Kepware Server a oggetti presenti nel modello ThingWorx.
|
Questo esempio presuppone che sia installato e in esecuzione ThingWorx 8.0 o versione successiva.
|
Creazione di una chiave di accesso e un oggetto in ThingWorx
Per la connessione a ThingWorx Kepware Server, è necessario creare una chiave di accesso e un oggetto che utilizza il modello di oggetto IndustrialGateway.
1. Creare una chiave di accesso in ThingWorx. Copiare l'ID chiave per un utilizzo successivo.
2. Creare un oggetto in ThingWorx. Prendere nota del Nome dell'oggetto per poterlo utilizzare in un secondo momento in ThingWorx Kepware Server.
|
In questo esempio, l'oggetto è denominato ThingWorxKepwareServer.
|
3. Nel campo Modello di oggetto di base selezionare IndustrialGateway.
4. Fare clic su Salva.
Installazione di ThingWorx Kepware Server
1. Scaricare e avviare il programma di installazione per ThingWorx Kepware Server.
2. Nella pagina di benvenuto fare clic su Next.
3. Accettare il contratto di licenza quindi fare clic su Avanti.
4. Accettare o modificare il percorso di installazione e fare clic Avanti.
5. Accettare o modificare il percorso dei dati e fare clic Avanti.
6. Accettare o disattivare l'installazione di un collegamento sul desktop per ThingWorx Kepware Server, quindi fare clic su Next.
7. Selezionare una suite, se applicabile, quindi fare clic su Next.
8. Fare clic sull'icona a sinistra di Full Installation, quindi selezionare Entire feature will be installed on local hard drive oppure attivare le funzionalità appropriate per l'ambiente in uso.
9. Verificare le selezioni effettuate, quindi fare clic su Next oppure su Back per correggerle.
10. Attivare l'indirizzamento dinamico, se lo si desidera, quindi fare clic su Next.
11. Impostare una password amministratore complessa (o saltare per il momento) e fare clic su Avanti.
12. Fare clic su Install.
13. Fare clic su Fine.
Sul desktop viene visualizzata un'icona di ThingWorx Kepware Server.
Configurazione di ThingWorx Kepware Server e connessione a ThingWorx
1. Eseguire ThingWorx Kepware Server Configuration dalla relativa icona sul desktop. Viene visualizzata la finestra Configuration.
2. Fare clic con il pulsante destro del mouse su Project e selezionare Properties.
3. Nell'Editor proprietà selezionare ThingWorx.
4. Definire la configurazione come descritto di seguito. Per le opzioni che non sono qui citate è possibile mantenere l'impostazione di default.
◦ Impostare Enable su Yes.
◦ Host - IP o nome di dominio completo dell'istanza di ThingWorx.
◦ Port - Porta su cui risponde ThingWorx, in genere 80 o 443.
◦ Application Key - Key ID della chiave di accesso creata in precedenza.
◦ Trust self-signed certificates - Se la piattaforma dispone di un certificato autofirmato, impostare su Yes. Per ottenere la massima protezione, impostare su No.
◦ Trust all certificates - Disattiva o attiva il controllo rigoroso dei certificati che potrebbe essere necessario per alcuni certificati autofirmati. Per ottenere la massima protezione, impostare su No.
◦ Disable encryption - Impostare su Yes se non si utilizza la crittografia SSL nella piattaforma. Per ottenere la massima protezione, impostare su No.
| La comunicazione non crittografata è un rischio per la protezione e deve essere attivata SOLO durante test su scala ridotta o se l'ambiente è adeguatamente protetto da altri mezzi a livello perimetrale. |
◦ Thing Name - Nome dell'oggetto IndustrialGateway precedentemente creato in ThingWorx.
| Thing Name deve corrispondere al nome dell'oggetto IndustrialGateway, con distinzione tra maiuscole e minuscole. |
5. Fare clic su Apply. ThingWorx Kepware Server tenta di connettersi a ThingWorx.
| Durante una valutazione, può essere utile utilizzare Simulator Driver con ThingWorx Kepware Server per dati e tag di esempio. Vedere il manuale Simulator Driver. |
Associazione dei tag in ThingWorx Kepware Server alle proprietà in ThingWorx
Ora che ThingWorx Kepware Server è connesso a ThingWorx, individuare l'oggetto IndustrialGateway connesso a ThingWorx Kepware Server e associare i tag in ThingWorx Kepware Server alle proprietà in ThingWorx.
1. Aprire Composer.
2. Fare clic su Sfoglia > Connessioni industriali.
| L'oggetto Connessioni industriali non viene visualizzato se non è presente alcuna connessione. Se ThingWorx Kepware Server è installato ma non connesso, fare clic su Start Runtime Service dall'icona di ThingWorx Kepware Server nella barra degli strumenti del desktop. |
3. Quando ThingWorx Kepware Server è in esecuzione, viene visualizzato l'oggetto Connessioni industriali. Se nella colonna con l'icona del database non è presente un segno di spunta, salvare l'oggetto per renderlo persistente.
a. Fare clic sul nome dell'entità.
b. Fare clic su Salva.
4. Nell'elenco a discesa dell'intestazione Connessione industriale, fare clic su Individua. Fare clic sul segno più (+) per espandere i canali e i dispositivi esistenti in ThingWorx Kepware Server.
5. Facendo clic su un singolo dispositivo vengono elencati i tag in esso disponibili. Selezionare con un segno di spunta i tag che si desidera aggiungere a un nuovo asset, quindi fare clic su Associa a nuova entità.
6. Scegliere un modello di oggetto e fare clic su OK.
| È necessario selezionare un tipo di modello remoto. |
7. Viene visualizzata la schermata di creazione di un nuovo oggetto. Le informazioni di configurazione e di associazione vengono definite in modo che il nuovo oggetto si connetta automaticamente tramite ThingWorx Kepware Server. Immettere un Nome per l'oggetto.
8. Fare clic su Salva.
| Al momento del salvataggio, IndustrialThingShape viene implementato dall'oggetto e non può essere rimosso dall'oggetto. Il salvataggio di un oggetto qualsiasi il cui modello di oggetto di base deriva da un oggetto remoto con IndustrialThingShape implementato fa sì che solo le associazioni remote possano essere basate sull'indirizzo del tag. |
| • ThingWorx non supporta l'eredità di proprietà in IndustrialThingShapes. • Una volta che una proprietà viene sostituita in un oggetto, eventuali modifiche apportate alle thing shape correlate alle associazioni di proprietà non vengono applicate. Questo è limitato agli aspetti correlati all'associazione. Se il tipo di base della proprietà viene modificato per un'istanza, la modifica verrà propagata. • La proprietà sostituita nell'oggetto deve essere eliminata (si deve essenzialmente annullare la sostituzione) e tutte le modifiche correlate all'associazione apportate alla thing shape vengono applicate all'oggetto. |
9. Nel menu a discesa dell'intestazione Oggetto industriale selezionare Proprietà e avvisi. Fare clic su Aggiorna. I valori vengono modificati in base ai dati correnti di ThingWorx Kepware Server.
10. Fare clic su una proprietà qualsiasi nella colonna Nome se si vuole visualizzarla o modificarla.
| Il tipo di push delle proprietà di tipo infotable deve essere impostato su Sempre push. |
| Le proprietà descritte di seguito sono specifiche dell'oggetto Connessioni industriali. • Indirizzo tag: indirizzo del tag, così come si presenta in ThingWorx Kepware Server. Non è necessario che il nome della proprietà e l'indirizzo del tag associato siano uguali. • Tipo di dati industriali: tipo di dati, così come si presenta in ThingWorx Kepware Server. Corrisponde al tipo di base in ThingWorx. • Tipo di push: il tipo di push di default è Push in base alla modifica del valore. Sebbene Push in base alla banda inutilizzata sia simile a Push in base alla modifica del valore, esiste una sottile differenza nei valori sottoposti a push. Se i valori provenienti dal dispositivo sono 1, 2, 3 e 4 e il tipo di push è Push in base alla modifica del valore con Soglia push di 2, ad esempio, il valore di cui viene effettuato il push dall'edge è 1. Tale valore, tuttavia, non viene nuovamente sottoposto a push poiché è cambiato solo di 1. Se il tipo di push viene impostato su Push in base alla banda inutilizzata in questo stesso esempio, viene eseguito il push dei valori 1 e 3 perché la modifica è tra l'ultimo valore sottoposto a push al posto dell'ultimo valore del dispositivo edge. | Il tipo di push Push in base alla banda inutilizzata è disponibile solo per Connessioni industriali ThingWorx Kepware Server. |
|
11. Per associare ulteriori tag a un'entità esistente, fare clic su Aggiungi per accedere agli attributi della nuova proprietà. Assegnare un nome e le altre proprietà desiderate, assicurandosi di selezionare Associata in remoto in Associazione. Fare clic su Aggiungi in Indirizzo tag per selezionare gli ulteriori tag da associare all'entità selezionata.
| In alternativa selezionare Tag dinamico, immettere un indirizzo di tag dinamico, selezionare Tipo di dati industriali, quindi fare clic su Fine. |
Proprietà di diagnostica del gateway industriale
Per l'oggetto IndustrialGateway sono disponibili diverse proprietà di diagnostica che possono essere utilizzate per ottenere informazioni sullo stato in ThingWorx Kepware Server.
| Tutte le proprietà di conteggio vengono registrate in uno stream di valori. |
• ActiveTagCount - Numero di tag associati a proprietà nella piattaforma, ovvero il numero dei tag forniti attivamente da ThingWorx Kepware Server a tutti i client connessi.
• ClientCount - Numero di tutti i client OPC DA connessi a ThingWorx Kepware Server.
• DateTime - Data e ora correnti regolate in base al fuso orario locale.
• DroppedUpdates - Numero di aggiornamenti che sono stati eliminati da ThingWorx Kepware Server anziché essere consegnati alla piattaforma.
| Questo valore non deve essere utilizzato per verificare la connettività in quanto potrebbe essere l'aggiornamento che viene eliminato. |
• ExpiredFeatures - Nomi delle funzionalità di ThingWorx Kepware Server, quali driver o plug-in, che sono scadute e non forniscono più dati finché l'esecuzione del server non viene arrestata e riavviata o finché non si ottiene la licenza per la funzionalità.
• FullProjectName - Nome e percorso completi del file di progetto ThingWorx Kepware Server attualmente in esecuzione.
• Hostname - Nome host del computer in cui è in esecuzione ThingWorx Kepware Server.
• IndustrialThingCount - Numero degli oggetti remoti che utilizzano l'oggetto IndustrialGateway per fornire dati alla piattaforma.
• isConnected - Stato di connessione del server ThingWorx Kepware Server.
• lastConnected - Data e ora dell'ultima connessione riuscita del server ThingWorx Kepware Server.
• LicensedFeatures - Nomi delle funzionalità di ThingWorx Kepware Server, quali driver o plug-in, concesse in licenza in questa istanza di ThingWorx Kepware Server.
• OpcClientNames - Nomi dei client OPC DA connessi, se forniti.
• ProductName - Nome del software che utilizza il modello di oggetto IndustrialGateway.
• ProductVersion - Versione del software che utilizza il modello di oggetto IndustrialGateway.
• ProjectName - Nome del file di progetto in uso in ThingWorx Kepware Server.
• ProjectTitle - Titolo del file di progetto in uso in ThingWorx Kepware Server.
• PropertyCount - Numero di proprietà associate a oggetti remoti nella piattaforma.
• TimeLimitedFeatures - Nomi delle funzionalità di ThingWorx Kepware Server, quali driver o plug-in, che non sono concesse in licenza in questa istanza di ThingWorx Kepware Server ma forniscono comunque dati.
• TotalTagCount - Numero dei tag assegnati a tutti i client.
• UpdatesPerSecond - Numero medio di aggiornamenti sottoposti a push da ThingWorx Kepware Server a ThingWorx.
Servizi
Per gestire le connessioni industriali, utilizzare uno di questi servizi.
Servizio | Descrizione |
BrowseItems | Gli input sono path e filter. Il filtro è facoltativo. | Percorso di esempio: Channel1.Device1. |
Restituisce: SourceType (ad esempio Word o Word Array) è il tipo di dati così come definito in ThingWorx Kepware Server ed è correlato al tipo di base in ThingWorx. Questo servizio accetta un filtro come argomento, consentendo la ricerca di nomi di tag specifici. Di seguito sono riportate le tecniche di filtro che è possibile utilizzare in questo campo di filtro. * Carattere jolly - Corrisponde a qualsiasi insieme di caratteri. ? Carattere jolly singolo - Corrisponde a un singolo carattere qualsiasi. [...] Set di caratteri di inclusione - Corrisponde a un singolo carattere qualsiasi racchiuso tra parentesi. Gli intervalli di caratteri possono essere indicati da un trattino: "c-j". [!...] Set di caratteri di esclusione - Corrisponde a un singolo carattere qualsiasi non racchiuso tra parentesi. Gli intervalli di caratteri possono essere indicati da un trattino: "c-j". # Cifra - Corrisponde a un carattere numerico qualsiasi. |
BrowseGroups | Gli input sono path e filter. Se non viene definito path, vengono restituiti tutti i gruppi. |
GetIndustrialThings | Restituisce tutti gli oggetti che sono connessi tramite il modello di oggetto IndustrialGateway. Per visualizzare queste informazioni, è possibile anche visualizzare il mashup Oggetti remoti in ThingWorx. |
GetPropertySubscriptions | È possibile utilizzare questo servizio (sull'oggetto remoto) per restituire aspetti, ovvero proprietà così come definite da ThingWorx Kepware Server. | Esempio di aspetto: { "industrialDataType": "Word", "tagAddress": "Channel2.Device1.Tag11", "scanRate": 1000 } |
|
GetBoundItems | Immettere un numero per maxItems. Restituisce tutti i tag associati all'oggetto da cui viene eseguito il servizio. | Le informazioni sui tag associati sono disponibili anche nell'area Tag associati dell'oggetto IndustrialGateway. |
|
GetPropertyDiagnostics | Disponibile per gli oggetti remoti, viene aggiunto quando si utilizza IndustrialThingShape. Questo servizio accetta il nome locale di una proprietà attualmente associata all'oggetto per cui il servizio viene eseguito e restituisce le informazioni seguenti: • Description - Campo della descrizione in ThingWorx Kepware Server. • Valid - Booleano. Indica se la proprietà è valida in ThingWorx Kepware Server. • DriverFriendlyName - Nome presentato agli utenti per il driver utilizzato per generare il tag. • Model - Modello di dispositivo al di sotto del driver utilizzato per generare il tag. • Error - Booleano. Indica se è presente o meno un errore nel dispositivo. • Name - Nome dell'indirizzo in ThingWorx Kepware Server. • DriverPersistedName - Nome ThingWorx Kepware Server del driver utilizzato per generare il tag. • Address - Indirizzo fisico del tag in ThingWorx Kepware Server. • DataType - Tipo di dati industriali come rilevato in ThingWorx Kepware Server. • ReadOnly - Booleano. Se true, il tag è di sola lettura. • CurrentValue - Valore del tag quando è stato eseguito il servizio. • CurrentQuality - Qualità del tag quando è stato eseguito il servizio. • CurrentTimestamp - Ora di lettura del tag quando è stato eseguito il servizio. |
GetDiagnosticDigest | Disponibile per l'oggetto IndustrialGateway. Questo servizio accetta qualsiasi indirizzo di tag e restituisce le informazioni di diagnostica relative al tag da ThingWorx Kepware Server. Questo è l'unico servizio di diagnostica che può utilizzare un indirizzo statico o dinamico nell'istanza di ThingWorx Kepware Server per fornire informazioni. Di conseguenza, affinché il servizio restituisca risultati non è necessario che il tag sia associato a una proprietà nella piattaforma. La definizione di ognuno dei campi restituiti è la stessa del servizio GetPropertyDiagnostics descritto in precedenza. |
Importazione di oggetti tramite un file CSV
Per importare oggetti in ThingWorx, è possibile utilizzare l'estensione di importazione CSV. Questa estensione include un elemento ImportRepository, ImportHelper, un elemento ImportMashup e un file di esempio TestImport.csv.
1. Scaricare e importare l'estensione in ThingWorx.
2. Aprire ImportMashup.
| Se si fa clic sul link Import Format, viene visualizzato il formato del file. |
3. Fare clic su Seleziona file e passare al file CSV da importare. Il file viene caricato nella piattaforma, che può così leggere il file.
4. Fare clic su Carica.
5. Se necessario, fare clic su My CSV file has a header row.
6. Fare clic su Importa.
7. In Composer vengono visualizzati tutti gli oggetti che sono stati importati tramite il file CSV.