io-device

La tecnica di trasmissione io-device permette di interconnettere tra loro dispositivi anche tra loro non omogenei, ad esempio PLC di diversi costruttori, o periferiche decentrate o dispositivi da campo, ecc.

Il concetto di base sta nella possibilità di utilizzare l’I/O di uno dei dispositivi come estensione di un altro.

Esistono moltissime maniere di sfruttare questa possibilità ma in questo esempio vedremo come collegare un PLC Siemens S7-300 che sua il protocollo PROFIBUS in modalità master a un PLC della nuova serie S7-1200, con porta nativa PROFINET ma munito di un coprocessore di comunicazione CM (o con la vecchia nomenclatura CP), rendendo possibile lo scambio di dati e comandi tra reti di PLC di generazione tra loro diverse.

Modalità IO-device per trasmettere contenuti di DB

Si colleghi un PLC 300 a un 1200 tramite protocollo PROFIBUS che richiede la definizione di un nodo master sul lato 300 e uno slave sulla CP della CPU 1200.

L’obbiettivo è di controllare le uscite digitali a bordo ella CPU slave tramite comunicazione PROFIBUS del contenuto di un DB globale  definito sul Master S7-300.

Vogliamo ritrovare il valore sul DB del lato 1200 mostrando il valore sulle uscite digitali.

Per configurare la comunicazione PROFIBUS tra i precedenti modelli S7300 e gli attuali S71200 e S71500 è necessario istallare un blocco CP che per la serie 1200 è indicata con la sigla CM.

Nei laboratori sperimentali G-Tronic disponiamo del modello CM 1242-5, ovvero uno slave DP.

Il catalogo hardware recita “CM 1242-5 communications module for connecting SIMATIC S7-1200 to PROFIBUS DP, I slave, con codice 6GK7 242-5DX30-0XE0”.

io-device 1

Useremo questa CPU, modello CPU 1212C DC/DC/DC, versione 6ES7 212-1AE31-0XB0 con firmware V3.0.

La CPU ha queste caratteristiche:

Work memory 50 KB; 24VDC power supply with DI8 x 24VDC SINK/SOURCE, DQ6 x 24VDC and AI2 on board; 4 high-speed counters (expandable with digital signal board) and 4 pulse outputs on board; signal board expands on-board I/O; up to 3 communication modules for serial communication; up to 2 signal modules for I/O expansion; PROFINET interface for programming, HMI and PLC-to-PLC communication.

Nel lato Master DP è stato configuarto un PLC S7 300 con queste caratteristiche:

io-device 2

La CPU è una CPU 314C-2 DP, numero di codice magazzioni 6ES7 314-6CG03-0AB0, con firmware V2.6.

Questo, direttamente prelevabile dal catalogo hardware del TIA V17, è stato inserito, ed è risultato funzionante, benchè  quello reale  riportato nello sportellino della CPU in laboratorio sia 314-6CF02-0AB0,

io-device 3

Le configurazioni vengono eseguite separatamente per le due stazioni.

Apriamo la stazione S7-300 e configuriamo la porta profibus, facendoci doppio click, come segue:

io-device 4

io-device 5

Passiamo al lato Slave, dove abbiamo assegnato la CPU 1212C DC/DC/DC munita di blocchetto di coprocessore di comunicazione CP.

Non bobbiamo farci trarre in inganno dalla scritta sul link “PLC Master Profibus” perché questa indica la provenienza del cavo, ovvero a che PLC è assegnata la stazione.

Portiamoci sulla vista di rete e clicchiamo sulla zona in cui figura la CP, come mostrato sotto.

io-device 6

io-device 7

Definiamo in entrambe le stazioni un DB globale come origine e destinazione del trasferimento dei dati.

Si potrà anche collegare il dato sorgente al pannello operatore per un inserimento runtime.

Come ragionamento preliminare si consideri che il numero 3 in decimale potrebbe essere rappresentato in binario come 0011, quindi, in caso di trasferimento alla morsettiera di output, al byte 0, mostrerebbe accese le uscite %Q0.0 e %Q0.1.

Il nostro obboiettivo sarà quello di ritrovare un numero originato nel DB del PLC master come valore numerico nel DB del PLC slave dopo la trasmissione tramite PROFIBUS.

In sostanza il PLC 300 ha trasmesso un dato al PLC 1200 usando il protocollo io-device.

Nota bene: è necessario mappare entrambe le aree di trasmissione (lato master sul PLC 300 del nostro esempio) e ricezione (lato slave sul PLC slave S7-1200) sul primo I/O non effettivamente disponibile.

Notiamo che i byte di uscita disponibili sulla CPU 300 sono %QB124 e %QB125 quindi il primo libero sarà il byte %QB126, mappabile in IO-device.

Per analogia, montando i blocchi di espansione, se il primo byte risultasse essere %QB0, sarà disponibile per la trasmissione IO-device il %QB0.

Per quanto riguarda la CPU slave, modello S7-1212C (in questo specifico esempio) si ha dispnibili un solo byte di ingressi onboard, %IB0, quindi il primo disponibile sarà %IB1 per la trasmissione IO-device.

Nel caso volessimo trasmettere un numero interger è buona norma mappare la destinazione in un byte pari, quindi %IB2 che occuperà anche %IB3, ovvero i 16 bit necessari.

Ribadiamo che uscite inesistenti sul device che trasmette, ad esempio %QB126 oppure %QB0 potrà essere mappato nella tranfer area su %IB1 del PLC 1200 posto in ricezione io-device.

La transfer area sarà accessibile dalle proprietà della CP montata sul PLC 1200, in questo caso sul lato slave.

io-device 8

Si ribadisce che si è scento arbitrariamente %QB0 sul lato St-300 perchè è il primo byte di out non istallato fisicamente, ma questo potrebbe cambiare in diverse configurazioni del PLC.

Cliccando alla voce Tranfer area_1 compaiono i seguenti dettagli:

io-device 9

Nel PLC 300 creiamo un DB globale che contenga i dati che vogliamo trasmettere, definiamo ad esempio due valori interi di cui trasferiamo solo il primo.

io-device 10

Notiamo che occupa il byte 0 e il byte 1 nella colonna offset.

Il contenuto della funzione FC1 del PLC master io-device è il seguente, in cui vediamo il caricamento del buffer di trasmissione costituito dalla word che vogliamo trasmettere.

io-device 11

Premendo il pulsante collegato all’ingresso fisico %I124.0 della CPU300 il primo dato nel DB verrà inviato tramite il buffer QW0 del mater al buffer di ricezione del PLC slave S71200, costituito dalla word di input virtualizzata %IW2.

Sul lato ricezione implementiamo questi segmenti di test il cui il buffer di ricezione %IW2 scarica il dato sulla prima variabile intera definita nel DB globale locale.

io-device 12

io-device 13

io-device 14

io-device 15

Scarica il programma demo che invia i dati dal DB del PLC 300 al DB del PLC della serie S7-1200, inoltre pilota le uscite digitali del 1200 come se fossero estensione del S7300. -> master slave IO device data trasfert

scarica articolo in pdf IOdevice trasmette DB

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

Torna alla pagina precedente