Skip to main content

Esempio: Utilizzo di OPC UA PubSub SL Biblioteca

Prodotto:CODESYS OPC UA PubSub SL

Le OPC UA PubSub SL Example.project l'esempio mostra come usare il OPC UA PubSub SL libreria per lo scambio di messaggi tramite il protocollo Pub/Sub come definito da OPC UA Foundation.

Il pacchetto contiene anche un secondo esempio: PubSubDataSet.project. Mostra come usare OPC UA PubSub SL libreria per fornire diversi set di dati e collegarli alle istanze GVL.

Descrizione

Oltre alla comunicazione Client/Server, la comunicazione tramite il protocollo OPC UA Pub/Sub offre anche un'ulteriore possibilità di scambio di dati tra gli abbonati di una rete in conformità con le regole della OPC UA Foundation.

La struttura dei dati (DataSet) può essere liberamente definito ed è preventivamente concordato tra mittente e destinatario. Ciò elimina la necessità di trasportare ulteriori (meta) dati. I dati vengono trasferiti con l'aiuto del OPC UA PubSub SL libreria tramite UDP/IP secondo le regole definite per UADP.

Un editore pubblica i suoi dati a un numero imprecisato di abbonati. Di conseguenza, il mittente e il destinatario non si conoscono. Ecco perché anche il numero dei destinatari non ha ripercussioni sul mittente. Una risposta al mittente in merito al fatto che i suoi messaggi abbiano raggiunto o meno i destinatari non può essere inviata tramite il protocollo a causa della natura del protocollo. Se necessario, tale risposta deve essere gestita in modo specifico per l'applicazione.

I dati vengono trasferiti in formato binario secondo le regole della OPC UA Foundation. IL OPC UA PubSub SL library gestisce la conversione dei tipi di dati IEC nei corrispondenti tipi di dati OPC UA e viceversa.

L'implementazione segue i seguenti profili:

  • Publisher: PubSub Publisher UADP Periodic Fixed Settings

  • Subscriber: PubSub Subscriber UADP Periodic Fixed Settings

La lunghezza del messaggio è limitata a 1.500 byte (MTU) (i messaggi di rete in blocchi non sono supportati). Finché le regole per una rete Time Sensitive non sono ancora disponibili, le condizioni hard real-time non possono essere rispettate. Tuttavia, l'attuazione del OPC UA PubSub SL la libreria tenta di mantenere il jitter il più basso possibile.

La libreria include i seguenti blocchi funzione:

  • DataSet:

    Definisce un DataSet Messaggio

  • Configuration:

    Gestisce le risorse condivise, come Connessione o Gruppo

  • RootDiagnostics:

    Notifica con dati diagnostici superiori

  • Connection:

    Gestisce la connessione a Publisher e Subscriber

  • ConnectionDiagnostics:

    Notifica con dati diagnostici sulla connessione (Connection)

  • ReaderGroup:

    Gestisce Reader blocchi funzione (creazione di un NetworkMessage da DataSet messaggi)

  • ReaderGroupDiagnostics:

    Notifica con dati diagnostici su ReaderGroup

  • Reader:

    Gestisce il DataSet blocco funzione (abbonato)

  • ReaderDiagnostics:

    Notifica con dati diagnostici su a Reader blocco funzione

  • WriterGroup:

    Gestisce Writer blocchi funzione (creazione di un NetworkMessage da DataSet messaggi)

  • WriterGroupDiagnostics:

    Notifica con dati diagnostici su WriterGroup

  • Writer:

    Gestisce un DataSet blocco funzione (editore)

  • WriterDiagnostics:

    Notifica con dati diagnostici su a Writer blocco funzione

_example_img_opc_ua_blocks.png

Funzionalità supportate

  • Pubblicazione/Sottoscrizione di messaggi secondo OPC 10000-14: OPC Unified Architecture Part 14: PubSub Release 1.04

  • Dimensione massima di un NetworkMessage: 1.500 byte

  • La dimensione del pacchetto e il payload correnti possono essere configurati mediante la configurazione del rispettivo ReaderGroup/WriterGroup e DataSet blocchi funzione.

  • Supporto con un'attività in background per il rispettivo Connection blocco funzione

  • Sono supportati i seguenti profili:

    • Publisher: PubSub Publisher UADP Periodic Fixed Settings

    • Subscriber: PubSub Subscriber UADP Periodic Fixed Settings

Informazioni aggiuntive

IL Device_1 applicazione mostra come leggere a NetworkMessage.

IL Device_2 L'applicazione mostra come inviare messaggi tramite i blocchi funzione contenuti.

  1. Hardware

    1. Te ne servono due CODESYS PLC collegati su una rete che supporta UDP Multicast.

    2. Nel progetto adattare la configurazione del dispositivo ai dispositivi aggiornando Device_1 E Device_2 all'hardware utilizzato.

  2. Personalizzazioni nel progetto

    1. Impostare gli indirizzi IP nel file GlobalIP GVL all'hardware che hai configurato. Troverai questo GVL nel file POU la zona.

    2. Imposta l'indirizzo multicast su un indirizzo libero nella tua rete.

      Nota: se non sei in una rete privata, chiedi al tuo amministratore di rete di assegnarti un indirizzo gratuito.

    3. Imposta la porta. La porta predefinita 4840 è la porta consigliata per OPC UA PubSub.

  3. Accedi a entrambi i controller e avvia le applicazioni.

  4. Avvia sia il mittente che il destinatario:

    Device_2: PLC_PRG.xEnable := TRUE

    Device_1: Communication_PRG.xEnable := TRUE

    Sul lato ricevitore, ora dovresti vedere come cambiano i valori del seno. Puoi modificare manualmente gli altri valori nel mittente e vedere le modifiche nel destinatario.

Procedura. Suggerimento per estendere l'esempio

Aggiungi una variabile al file DataSet che è già stato inviato.

  1. Estendere SensorDataSet._aIndex da una voce. Seleziona qualsiasi tipo di dati.

  2. In SensorDataSet.Init, adattare la versione di DataSet aggiornando l'inserimento della data.

  3. Nel PLC_PRG programma del mittente, creare una variabile del tipo di dati selezionato. Assegna il valore txSensorDataSet.PrepareValues alla variabile.

  4. In rxSensorDataSet.PrepareValues, ripetere questo passaggio sul lato ricevitore. Crea anche qui una nuova variabile dello stesso tipo.

  5. Eseguire un nuovo download.

    Anche la nuova variabile dovrebbe essere trasmessa.

Esempio 1. Esempio di una configurazione tipica
_example_img_opc_ua_pubsub_config.png


Requisiti di sistema e restrizioni

Sistema di programmazione

CODESYS Development System (versione 3.5.17.0 o superiore)

Sistema di esecuzione

CODESYS Control Win (versione 3.5.14.0)

Nota

A seconda delle capacità del rispettivo sistema runtime, i messaggi possono essere inviati tramite Unicast, Multicast o Broadcast.

Piattaforme/dispositivi supportati

Suggerimento

Usa il Device Reader project per scoprire le funzionalità supportate dal tuo dispositivo. Device Reader è disponibile gratuitamente nel CODESYS Store International.

Restrizioni

  • La lunghezza massima di un messaggio di rete è di 1.500 byte.

    (Chunked NetworkMessages not supported)

  • Il punto temporale della trasmissione viene determinato tramite la configurazione dell'attività.

    IL udiPublishingInterval parametro non ha alcun effetto.

Componenti aggiuntivi

CODESYS OPC UA PubSub SL

Avviso

_example_icon.png SCARICA Progetto