PROFINET e comunicazioni con altri protocolli

In questa pagina sono presenti esempi testati di comunicazioni tramite PROFINET, con particolare  attenzione ai comandi PUT e GET, ma anche esempi di comunicazione in PROFIBUS, o di trasmissione in modalità IO-Device.

Il libro di testo associato a questa pagina è  Advanced PLC programming ed.2021: Terzo volume della collana Let’s Program a PLC  con ISBN: 979-8581600740

Visita la pagina di distribuzione del libro di testo.

Comunicazione PROFINET tra due PLC S7-1200.

Alla lezione del week end 18/19 febbraio 2017, dedicata ai fuori sede, abbiamo collegato  un PLC S7 1200 mod. 1212c AC/DC/RLY XX31 con id PLC_1 ad un PLC  con id PLC_2 mod 1212c AC/DC/RLY XX31

Lo scopo è quello di trasferire 4 interi, ovvero 8 byte di dati da un PLC a un altro usando i DB dei partener di comunicazione. Nello stato iniziale il primo PLC contiene nel DB i valori 1,2,3,4 a partire da byte 4, mentre il secondo contiene PLC contiene i valori 5,6,7,8 a partire sempre dal byte 4 del DB.

Dopo il trasferimento entrambi i DB dei partner online contengono 1,2,3,4 a partire dal byte 4 del DB.   Il trasferimento avviene usando la funzione PUT.

Nella rete i dispositivi sono stati inseriti con i seguenti IP

  • PLC_1 192.168.0.1
  • PLC_2 192.168.0.3
  • HMI KTP400 BASIC COLOR 192.168.0.2

In entrambi i PLC abbiamo creato un DB globale con la forma:

Blocco dati di destinazione

Le prime due righe sono variabili locali mentre i dati che intendiamo leggere/spedire sono 4 e si trovano all’indirizzo byte 4. Trattandosi di INTEGER hanno un’estensione totale di 8 byte come dovremmo indicare nel puntatore di accesso del comando PUT di cui vogliamo dimostrare il funzionamento.

Nell’immagine l’azione di trasferimento è già stata eseguita quindi nella colonna valore di controllo (visibile solo dopo avere agito negli “occhiali” di controllo delle variabili) compaiono i valori provenienti dal PLC che ha eseguito il PUT.  Quello che stiamo osservando è il DB del partner di comunicazione che ha subito la scrittura.

Nel PLC_2 usiamo il DB2 mentre nel PLC_1 il DB4.

Dati contenuti nel DB2   -> Dato5,6,7,8=5,6,7,8

Dati contenuti nel DB4  -> Dato1,2,3,4=1,2,3,4

L’obbiettivo è quello di trasferire i dati 1,2,3,4 nel DB2 del partner sovrascrivendo gli attuali 5,6,7,8 come già a visualizzato nell’immagine sovrastante.

Useremo i comandi GET e PUT nel protocollo profinet, inizialmente testiamo il PUT.

rete profinet gottardo

Obbiettivo trasferire quattro INTEGER dal DB4 del PLC_1 ad un DB2 del  PLC_2 remoto.

Funzione-PUT

Attenzione: Usare il comando ” -|P|-” sul pin “REQ” allo scopo di generare il fronte di salita necessario per spedire i dati successivi alla prima esecuzione.  

Agiamo sull’icona con la forma di cassetta degl’attrezzi.

collegamento al partner di comunicazione gottardo

Salviamo la configurazione .

In caso di problemi di comunicazione verificare di aver compilato la configurazione hardware con tutti i PLC e i dispositivi offline, e assicurarsi di aver ricaricato hardware e software in tutti i PLC dopo aver compilato.

Salvare la configurazione hardware profinet

 Scarica pdf bozza di questo articolo -> comunicazione profinet tra CPU 1200

Scarica il programma con questo esempio di comunicazione PROFINET -> nastro_hmi

In questo progetto, oltre alla comunicazione PROFINET tra le due CPU sopradescritta troverete la configurazione per il pannello HMI modello KTP400 basic color (con programma Wincc) che accede contemporaneamente a ai TAG di entrambi i PLC centralizzando il controllo.

PROFINET: Esercizio di comunicazione tra PLC e HMI (allievo Lucas Sperduto)

Scarica da questo link la relazione tecnica del programma svolto da Lucas Sperduto.

Comunicazione PROFINET tra due PLC S1

PROFINET:  Un HMI accede a due PLC scambiando i dati tra i loro DB.

In questo esercizio, simile al precedente ma più completo, viene progettato un HMI modello KTP400 basic, in grado di accedere ai DB di due diversi PLC simultaneamente. L’area del pannello è divisa in due zone, la metà di sinistra per il controllo di un PLC e l’area di destra per il controllo dell’altro PLC.

Scarica il programma completo Comunicazione PROFINETt tra 2 S7-1200 e un HMI

TIA_HMI_Panel_esercizio_Profinet_Gottardo

In ogni PLC viene definito un DB contenente un set di dati con l’obbiettivo di trasmetterli al partner di comunicazione. Viene inoltre trasmetto il valore analogico acquisito da uno dei PLC. Il touch panel supervisiona e comanda le azioni. I valori sono mostrati nei campi HMI.

Profinet_esercizio_Gottardo_DB2_PLC1

Contenuto iniziale di DB2 nel PLC1, è fondamentale dalle proprietà del DB togliere lo spunto dal menù “accesso ottimizzato” allo scopo di poter visualizzare la colonna “offset” che mostra gli indirizzi in Byte.

Ecco la situazione, con una vista più globale, di DB1 nel lato PLC2.

PLC2_DB1

PLC_2_DB1

Aspetto del programma sul lato WinCC.

PANNELLO

Nella prossima immagine la tabella delle variabili lato HMI.

TABELLA_VARIABILE_TOUCH

Il contenuto di FC1 sul PLC1- ->PLC_1_FC1


Seconda versione del programma comunicazione PROFINET.

Scarica il programma -> trasmissione profinet


Versione per TIA V16 del programma di comunicazione Profinet

trasmissione Profinet TIA V16 esercizio Gottardo Direzione del comando da sender a Reciver con PUT

Download programma completo, TIA V16, doppia CPU 1214C DC/DC/DC ag40 e pannello KTP700 Basic. Profinet_transmission_PUT_version.zap16

Sistema in prelievo dati con GET

Il progetto scaricabile da questo link inverte la comunicazione, da un un reciver centrale possiamo interrogare molti PLC e prelevare i dati dai loro DB.

Supervisore

scarica GET  data from remote DB Profi Get Pub


Comunicazione tramite I/O device    Vai alla pagina di spiegazione

Questo tipo di comunicazione non è di tipo master slave pertanto queste due tipologie non figurano nelle componenti convolte che cono invece chiamate Controllore locale e Partner

Su entrambe devono essere sviluppate delle network di programma del tipo “contatto pilota una bobina” per raccogliere i comandi provenienti dal controllore locale e abilitare così le uscite del partner.

io 1

La configurazione della CPU come IO-device avviene solo sul lato partner, e come vediamo nell’immagine compare il link alla VPU che abbiamo denominato Local Controller.

L’immagine sottostante mostra, usando le frecce, il flusso dei dati di controllo.

io device configuration

La comunicazione di tipo IO-Device virtualizza degli IO non montati fisicamente in dispositivi remotati.

Questo è il blocco FC1 della CPU lato Partner – slave.

io 2

Configurazione del sistema IO device lato Partner.

io 4

Sopra i comandi impostati nel menù operating mode.sotto i dettagli della comunicazione nel menù transfer area, comunque già impostati al passo precedente.

io 3

Vediamo ora la configurazione del PLC sul lato Local Controller.

Contenuto di FC1 nel PLC Local Controller.  Si nota che nelle proprietà della CPU non è stata definita  come operation mode la modalità io-device e che le uscite qui pilotate sono state dichiarate nell’altro PLC che le virtualizza negli indirizzi %Q0.0 e successivi.

io 5

Le variabili IO Link HMI.PUlsante1 e successive, cono dichiarate nel DB globale di questo PLC e (local controller) e collegate a tre pulsanti nel pannello HMI.

In sostanza sul lato “Local Controller” cpu avviene la virtualizzazione delle uscite mancanti %Q2.0 e successive per poter pilotare gli ingressi virtualizzati sul plc Partner %I2.0 e succesivi.

Si suggerisce di definire sempre i primi contatti che non ci sono sia sul lato Local Controller che sul Partner di comunicazione.

Download full program -> IO-device example

 


Comunicazione PROFINET e OPC UA su bilancia LAUMAS

Il modello LAUMAS TLM8, già presentato tra queste pagine, viene utilizzato per identificare due oggetti diversi posti sulla piattaforma con installata la cella di carico.

Una spela fili del peso di 200gr e una pinza del peso di 300gr vengono comparate allo scopo di generare un numero 0 o 1 poi utilizzato per selezionare le loro foto poste in lista grafica.

Il numero 2 viene generato quando nessuno dei due oggetti è posto sulla piattaforma di misura, il quale lancia sullo schermo un’immagine a sfondo giallo che riporta la scritta “No item”.

La comunicazione con la bilancia avviene in modalità PROFINET-IO mentre la comunicazione con la postazione PC avviene tramite OPC UA, nello stesso PC vi è in esecuzione il client UPC UA Expert reperibile in internet.

Download full project for TIA V17 -> Cella di carico


libro PLC esercizi 2022

Libro dedicato agli istituti tecnici – ITS e università

Per adottare questo libro di testo nelle vostre scuole è sufficiente entrare nel portale AIE e cercare il link “adozioni”, quindi seguire la procedura per indicare il libro di testo mostrato sotto secondo autore, edizione, edizioni Createspace, ISBN-979-8486336553   Nota bene: Se vi hanno fatto credere che non si può adottare il libro che preferite vi hanno mentito. Esiste addirittura un helpdesk che vi aiuterà nella procedura per l’inserimento del testo nel caso venisse riscontrata qualche difficoltà.

per ITI e IPSIA ediz 2022

back to PLC programming page