Ciao Simona,
Ho degli appunti confusi...
Si abbastanza.
Cominciamo a chiarire che si tratta di comunicazione seriale attraverso il PLC serie 200 Siemens , ma stai parlando di due tipi diversi.
comandi di scrittura e lettura (net rad e net write) e relativa port, en, tbl
Queste due classi di comando NETR (leggi dalla rete) e NETW (scrivi nella rete) , si usano per colloquiare con altre CPU della stessa famiglia che comunicano attraverso la rete PPI Siemens , giusto per capirci è la stessa rete che si usa per la sua programmazione.
Nello specifico , tramite il box funzione NETR o NETW , si specifica :
1-Attraverso quale porta la tua CPU deve dialogare.
2-Indirizzo fisico che possiede il partner di comunicazione collegato in rete PPI da interpellare .
3-Puntatore (formato pointer) dell'indirizzo iniziale di memoria nella stazione su cui leggere o scrivere.
4-Numero di byte da leggere o scrivere (minimo 1 massimo 16)
Nella tua CPU devi specificare e riservare una area di memoria della dimensione sufficiente a gestire la bufferizzazione dei dati da trasferire o leggere, un area di memoria impegnata minima 8 byte (7+1) , fino ad un massimo di 23byte (7+16).
Non sono richiesti settaggi porta , in quanto utilizzando la stessa rete di programmazione , i dettagli del protocollo sono già preconfigurati, e devono per forza di cose essere uguali tra partner.
Cosa importante , nella comunicazione con uno o più partner, si deve definire la CPU che contiene i comandi NETW e NETR come master , colei che detiene il token della comunicazione.
Questa CPU legge e scrive le informazioni verso le altre CPU.
-comandi per trasmissione di lettura dei messaggi xmt rcv
Questi sono due cose diverse , parliamo dello stesso tipo e modello di PLC , ma con la sostanziale differenza che si usa il protocollo libero o "freeport".
Fondamentalmente la CPU dispone di una o due ( dipende dal modello) porte di comunicazione standard RS485.
Ogni qual volta si renda necessaria la comunicazione di dati da e verso dispositivi non Siemens (barcode reader , misuratori speciali , bilance digitali , ecc.) si usa il protocollo freeport per adattare le caratteristiche trasmissive della CPU verso il suo partner.
Tali porte , tramite l'abilitazione , attraverso speciali bit di sistema , appunto quelli contenuti nel byte SMB30 relativamente alla porta 0 ed SMB130 per la porta 1 modificano la proprietà del protocollo RS485.
Configurando opportunamente lo stato di tali bits , si impostano le modalità del funzionamento freeport oppure no, bitrate , parità ,bit di dati per carattere 7 o 8.
-comandi per trasmissione di lettura dei messaggi xmt rcv
Questi comandi , si usano appunto nella modalità freeport per interloquiare con i dispositivi connessi.
In realtà non ci si scambia pacchetti di dati , ma bensì stringhe di caratteri in codifica ASCII .
La quantità massima di caratteri che possono comporre una stringa è di 255 (256 byte di cui il primo contiene il numero dei caratteri che compongono il messaggio).
In questa modalità freeport, vi sono grosse limitazioni , sia per la natura , la quantità di dati , che per via della bidirezionalità non facile da controllare , a differenza del protocollo PPI (di cui parlavamo prima) , non esiste un master , e nessuno detiene il token della comunicazione , quindi nel caso i cui si comunichi con più partner , vi possono essere delle sovrascritture di caratteri in ricezione che causerebbero l'errore del controllo di parità.
In generale questa modalità è abbastanza complessa sia da recepire che da spiegare in quanto la gestione ricezioene trasmissione , avviene tramite bit di stato della porta e processi ad interrupt.
Scaricati gratuitamente il
Manuale di sistema PLC S7-200.
Il capitolo 7 riguarda la comunicazione , e l'appendice D ti dà in modo dettagliato la panoramica dell'area di memoria speciale SM.
Spero di averti almeno chiarito alcuni dei tuoi dubbi.
Se hai bisogno chiedi , sono qua.
Ivan