automation installations safety electronics - pc other...

7
Home Page Contattaci Regolamento Oggi su PLC Forum Oggi su Automazione Siete Qui: Didattica >> PLC S7 1200 e Zelio Logic: due amici che parlano tra loro Accedi oppure Registrati 0 Search Didattica >> Corsi PLC - HMI PLC S7 1200 e Zelio Logic: due amici che parlano tra loro Esempio di comunicazione Master/slave in MODBUS TCP tra S7 1200 e Zelio Logic L’applicazione descritta in questo documento è a puro scopo didattico. L’autore e plcforum.it non assumono responsabilità per danni e inconvenienti, a cose e/o a persone, derivanti da un suo uso improprio. Spesso capita di dover scambiare dati tra dispositivi (apparecchiature) di marca e/o tipologia differente e per far ciò ci avvale di un protocollo di comunicazione. Uno dei protocolli di comunicazione ad oggi più utilizzato in ambito industriale, è il Modbus. Non è comunque raro trovarlo anche in ambito civilistico. Basti pensare agli analizzatori di rete elettrica presente nei quadri di distribuzione, ad alcune marche di sistemi anti intrusione, hai sistemi di controllo accesso ecc. ecc. In questo esempio ci occupiamo di come mettere in comunicazione un PLC Siemens della famiglia S7 1200 che funzionerà da Master con un mini PLC e/o relè intelligente della Schneider Electric (Telemecanique). Lo Zelio Logic che funzionerà da Slave, con la possibilità di parametrizzare delle variabili di quest’ultimo, mediante un pannello operatore KTP 400 della Siemens. Il tutto mediante collegamento Ethernet sfruttando il protocollo MODBUS TCP. Tale soluzione ci permetterà di poter creare delle applicazioni molto versatili, ed applicabili su differenti settori, tra cui la Home automation e/o domotica. Tenendo conto che all’interno dello Zelio logic risiederà e girerà il proprio software in modo indipendente, lo si potrà quasi paragonare ad un sistema Client-Server. Nell’esempio leggeremo il valore corrente di un temporizzatore del PLC remoto (lo Zelio logic) e ne imposteremo un nuovo preset mediante il su citato pannello operatore , visualizzeremo lo stato degli ingressi e ne comanderemo le uscite. Esempio di configurazione HW/TCP del sistema: Un brevissimo accenno sul protocollo Modbus. Creato nel 1979 da Modicon (azienda ora parte del gruppo Schneider Electric) come protocollo proprietario per permettere la comunicazione tra i loro dispositivi. Ben presto è stato utilizzato anche da altri costruttori, fino a divenire successivamente uno standard, permettendo così di poter inserire nella medesima rete apparecchiature di marche differenti. Il protocollo Modbus è un protocollo di tipo Master <> Slave, ciò sta ad indicare che è solo il master ad iniziare una comunicazione verso gli slave, che rispondono al master solo quanti interrogati. Il numero massimo di slave che possono essere interrogati da un master è di 247. Questo limite è solo un limite logico del protocollo. Altra limitazione sul numero degli slave collegabili al master può anche essere dato dall’interfaccia fisica utilizzata. Menu' Ultimi post Forum PLC Subroutine Con 1200 ---------------------------------- Pannello Td-200 Bloccato ---------------------------------- Nais fp1: File Di fp1_rs422.Jpg ---------------------------------- Collegamento Online ---------------------------------- Collegamento Online Tia Portal - Plc ---------------------------------- Segnali Analogici In Corrente E In Tensione ---------------------------------- Uscita Analogica Per Logo 6 ---------------------------------- Programmazione Cnc ---------------------------------- Clock Con Temporizzatori ---------------------------------- Tecnica Di Programmazione E Struttura Di Un Programma Per Plc ---------------------------------- Ultimi Post Forum HMI Grosso Problema Con Wincc Flexible ---------------------------------- Comunicazione Wincc im151-8 ---------------------------------- s7-Wincc Engineering Station Compile Os Errors ---------------------------------- Wincc Flex 2008 - Visualizzazione Dato Numerico ---------------------------------- ns12 - Omron ---------------------------------- Ultimi Post Forum motion Accoppiamento Pignone/Cremagliera ---------------------------------- Inverter Per 3 Motori Treno Impulsi E Profibus ---------------------------------- Fiere e convegni I video più visti Simatic manager Lezione 1 Step7 Sim WinCC Runtime - Simulazione di PLC e terminali operatore Step7 WinCC - PLC e terminali operatore L'impianto elettrico dalla progettazione alla consegna finale - 1/3 Potenza elettrica: generalità Dalla Legge 46/90 al D.M. 37/08 Parte I Partitore di tensione Partitore di corrente Carrellata normativa sugli impianti elettrici - parte I Coefficienti di utilizzazione e di contemporaneità: 1/2 Potenza convenzionale di un impianto industriale: esercizio 1/1 Principi di Kirchhoff: esercizi Potenza elettrica: Teorema di Boucherot Teorema di Thevenin: esercizi Teorema di Norton teoria ed esercizi Le discussioni PLC più lette Semaforo Linguaggio Ladder Corso Programmatore Plc A 40 Anni. Conviene? Alternativa Economica Al Twido Vorrei Diventare Programmatore Automation Installations Safety Electronics - PC Other Forums Other sections Register Forum» Video Help Important topics News» Teaching Market A bout us» Forum Card» Archive» Other sections PLC Forum» Non sei registrato? Registrati subito cliccando QUI! E goditi tutte le funzionalita' del sito! converted by Web2PDFConvert.com

Upload: vominh

Post on 25-Sep-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Automation Installations Safety Electronics - PC Other ...download.istella.it/user/514c994a2578191b7b000029/originals/823c... · operatore KTP 400 della Siemens. ... domotica. Tenendo

Home Page Contattaci Regolamento Oggi su PLC Forum Oggi su Automazione

Siete Qui: Didattica >> PLC S7 1200 e Zelio Logic: due amici che parlano tra loro

Accedi oppure Registrati 0 Search

Didattica >> Corsi PLC - HMI

PLC S7 1200 e Zelio Logic: due amici che parlano tra loro

Esempio di comunicazione Master/slave in MODBUS TCP tra S7 1200 e Zelio Logic

L’applicazione descritta in questo documento è a puro scopo didattico.L’autore e plcforum.it non assumono responsabilità per danni e inconvenienti, a cose e/o apersone, derivanti da un suo uso improprio.

Spesso capita di dover scambiare dati tra dispositivi (apparecchiature) di marca e/o tipologia differente e per farciò ci avvale di un protocollo di comunicazione. Uno dei protocolli di comunicazione ad oggi più utilizzato in ambito industriale, è il Modbus. Non è comunque rarotrovarlo anche in ambito civilistico. Basti pensare agli analizzatori di rete elettrica presente nei quadri didistribuzione, ad alcune marche di sistemi anti intrusione, hai sistemi di controllo accesso ecc. ecc.In questo esempio ci occupiamo di come mettere in comunicazione un PLC Siemens della famiglia S7 1200 chefunzionerà da Master con un mini PLC e/o relè intelligente della Schneider Electric (Telemecanique). Lo Zelio Logicche funzionerà da Slave, con la possibilità di parametrizzare delle variabili di quest’ultimo, mediante un pannellooperatore KTP 400 della Siemens.Il tutto mediante collegamento Ethernet sfruttando il protocollo MODBUS TCP. Tale soluzione ci permetterà di potercreare delle applicazioni molto versatili, ed applicabili su differenti settori, tra cui la Home automation e/odomotica. Tenendo conto che all’interno dello Zelio logic risiederà e girerà il proprio software in modo indipendente,lo si potrà quasi paragonare ad un sistema Client-Server. Nell’esempio leggeremo il valore corrente di untemporizzatore del PLC remoto (lo Zelio logic) e ne imposteremo un nuovo preset mediante il su citato pannellooperatore , visualizzeremo lo stato degli ingressi e ne comanderemo le uscite.

Esempio di configurazione HW/TCP del sistema:

Un brevissimo accenno sul protocollo Modbus.Creato nel 1979 da Modicon (azienda ora parte del gruppo Schneider Electric) come protocollo proprietario perpermettere la comunicazione tra i loro dispositivi. Ben presto è stato utilizzato anche da altri costruttori, fino adivenire successivamente uno standard, permettendo così di poter inserire nella medesima rete apparecchiature dimarche differenti.Il protocollo Modbus è un protocollo di tipo Master <> Slave, ciò sta ad indicare che è solo il master ad iniziare unacomunicazione verso gli slave, che rispondono al master solo quanti interrogati. Il numero massimo di slave chepossono essere interrogati da un master è di 247. Questo limite è solo un limite logico del protocollo.Altra limitazione sul numero degli slave collegabili al master può anche essere dato dall’interfaccia fisica utilizzata.

Menu'

Ultimi post Forum PLC

Subroutine Con 1200----------------------------------Pannello Td-200 Bloccato----------------------------------Nais fp1: File Difp1_rs422.Jpg----------------------------------Collegamento Online----------------------------------Collegamento Online TiaPortal - Plc----------------------------------Segnali Analogici InCorrente E In Tensione----------------------------------Uscita Analogica Per Logo 6----------------------------------Programmazione Cnc----------------------------------Clock Con Temporizzatori----------------------------------Tecnica Di ProgrammazioneE Struttura Di UnProgramma Per Plc----------------------------------

Ultimi Post Forum HMI

Grosso Problema Con WinccFlexible---------------------------------- Comunicazione Winccim151-8---------------------------------- s7-Wincc EngineeringStation Compile Os Errors---------------------------------- Wincc Flex 2008 -Visualizzazione DatoNumerico---------------------------------- ns12 - Omron----------------------------------

Ultimi Post Forum motion

AccoppiamentoPignone/Cremagliera---------------------------------- Inverter Per 3 Motori TrenoImpulsi E Profibus----------------------------------

Fiere e convegni

I video più visti

Simatic manager Lezione 1

Step7 Sim WinCC Runtime -Simulazione di PLC e terminalioperatore

Step7 WinCC - PLC e terminalioperatore

L'impianto elettrico dallaprogettazione alla consegnafinale - 1/3

Potenza elettrica: generalità

Dalla Legge 46/90 al D.M. 37/08Parte I

Partitore di tensione

Partitore di corrente

Carrellata normativa sugliimpianti elettrici - parte I

Coefficienti di utilizzazione e dicontemporaneità: 1/2

Potenza convenzionale di unimpianto industriale: esercizio 1/1

Principi di Kirchhoff: esercizi

Potenza elettrica: Teorema diBoucherot

Teorema di Thevenin: esercizi

Teorema di Norton teoria edesercizi

Le discussioni PLC più lette

Semaforo Linguaggio Ladder

Corso Programmatore Plc A 40Anni. Conviene?

Alternativa Economica Al Twido

Vorrei Diventare Programmatore

Automation Installations Safety Electronics - PC Other Forums Other sections

Register

Forum»

Video

Help

Important topics

News»

Teaching

Market

About us»

Forum Card»

Archive»

Other sections PLC Forum»

Non sei registrato? Registrati subito cliccando QUI! E goditi tutte le funzionalita' del sito!

converted by Web2PDFConvert.com

Page 2: Automation Installations Safety Electronics - PC Other ...download.istella.it/user/514c994a2578191b7b000029/originals/823c... · operatore KTP 400 della Siemens. ... domotica. Tenendo

Ad esempio, se si utilizza una porta seriale standard di tipo RS485, il limite degli slave collegabili scende ad appena31 unità se non vengono utilizzati particolari accorgimenti, come ad esempio l’inserimento sulla linea di dispositivibridge “ripetitori di segnale”.Esistono due versioni del protocollo Modbus, quello RTU e quello ASCII, ma quello utilizzato è quello RTU.

La connessione tra il master ed lo/gli slave può avvenire per mezzo di differenti tipologie di "porte" di comunicazionihardware.

RS232, utilizzata maggiormente per le connessioni di tipo punto punto con un unico slave. La sua limitazione HWnon permette connessioni multiple.

RS485, utilizzata per le connessioni multiple (con più slave).

TCP, utilizzata si per le connessioni punto punto che multipunto.

In questo esempio prenderemo in considerazione la sola versione RTU, perché è quello che utilizzeremo per farcomunicare il PLC S7 1200 con lo Zelio Logic. La struttura del messaggio Modbus (vedi figura 1) è composto nel seguente modo:

1 byte contenente il numero dello slave;

1 byte contenente il codice funzione;

n byte contenente il numero dei registri/valore da leggere e/o restituito;

2 byte contenente il CRC;

Come tutti i protocolli bus, i dispositivi (oggetti) per essere interrogati dal master senza creare conflitti, hannonecessità di essere identificati all’interno di una rete in modo univoco, pertanto gli viene assegnato un indirizzo.Come precedentemente detto, gli indirizzi vanno da 1 a 247. Mai nessun slave potrà avere indirizzo zero, in quantose un master trasmette verso un indirizzo “zero”, questo messaggio sarà ricevuto contemporaneamente da tutti glislave. Questo viene identificato come messaggio “broadcast”. Vengono trasmessi come messaggi broadcast tutti quei messaggi che non richiedono una risposta da parte deglislave.Il codice funzione, è un codice che identifica la funzione che lo slave deve eseguire a seguito della richiesta delmaster. Nel protocollo Modbus, le funzioni che possono essere eseguite dagli slave sono le seguenti:

Codice Funzione.......................Descrizione

01 Read Coil Status

02 Read Input Status

03 Read Holding Registers

04 Read Input registers

05 Force Single Coil

06 Prese! Single register

07 Read Status

15 Force multiple Coils

16 Preset Multiple Registers

Per far comunicare l’ S7 1200 con lo Zelio, prenderemo in considerazione i codici funzione 03 e 06 RTU che secondole specifiche indicate dal datasheet del modulo Modbus dello Zelio (vedi figura 2) sono quelli più idonei al nostroscopo.

I registri:I registri sono quelle aree di memoria nel quale vengono salvati i dati. Alcuni registri sono di sola lettura, mentrealtri possono essere sia in lettura che di scrittura. Ovviamente ogni area di memoria ha anche esso un indirizzo che

---------------------------------- Aspiratore Vortice 40cm EMotore Di Sega Circolare. SuPuo Fare?---------------------------------- Parametri Inverter---------------------------------- Regolatore Di Fase A CosaServe?----------------------------------

Ultimi Post Forum impianti

Predisposizione Prese TvLcd---------------------------------- Piccolo Problema Con Un Relè---------------------------------- Info Per Dispositivo DaInstallare Per StabilizzareTensione Abitazione---------------------------------- Upgrade Homeplc.Linux...---------------------------------- Una Scatola Con 20 Fili Neri----------------------------------

Vorrei Diventare ProgrammatorePlc. Consigli?

Controlla E Comanda Variabili DaAndroid

Termoregolazione Semplice ConPlc

Logo E Trasduttore Di Pressione

Corso Base Di Step7

Plc Per Mppt

Non Riesco A Collegare Ktp400

Perito Elettronico, DiventareProgrammatore Plc? AlcuneDomande

Gestione Livello/TemperaturaLiquido

Consigli "Pratici" SullaProgrammazione

Zelio Logic Principiante

Logo Vs. Plc X Home Automation

Zelio Per Controllo A Zone DellaTemperatura

Consigli per utilizzo schedaCP341

Siemens: Errore 33:16394 -Impossibile Avviare Il Server DiComunicazione

Manuale Programmazione TestoStrutturato

Software Di Programmazione PerS7-1200

Acquisizione Dati Float InModbus Rtu

S5 6Es5101-8Ua13

Link aziende

Siemens supportSiemens catalogoSiemens microautomazione-----------------------------Schneider Download center-----------------------------Portale dei Motori elettrici-----------------------------

converted by Web2PDFConvert.com

Page 3: Automation Installations Safety Electronics - PC Other ...download.istella.it/user/514c994a2578191b7b000029/originals/823c... · operatore KTP 400 della Siemens. ... domotica. Tenendo

lo identifica in modo univoco. Il significato dei dati contenuti in questi registri come nel caso specifico è definito dalproduttore dell’apparecchiatura. Vedi figura 3. Infatti, osservando la figura su citata, si evince come a secondo del linguaggio di programmazione utilizzato nelloZelio Logic (Ladder o FBD), i registri assumano un significato ben definito.Se prendiamo come esempio il registro di tipo word con indirizzo (IEC) MW16 oppure (Modicon) 4001+16, che è ilmedesimo registro, solo chiamato in modo differente, e, se lo Zelio Logic è stato programmato in ladder, questoregistro è vuoto o inesistente, mentre se lo Zelio Logic è stato programmato in FDB, questo registro è in anzi tuttosia in scrittura che in lettura e contiene i dati della word JX1TX1, che saremo noi a definirne il significato durante lastesura del software come più avanti vedremo.Per continuare l’esempio, il registro (IEC) MW20 (Modicon) 4001+20 è di sola lettura e a seconda del linguaggioutilizzato, (FBD o Ladder) può assumere significato differente. In FBD conterrà il valore che in fase diprogrammazione assegneremo noi alla word O1XT1, in Ladder, conterrà lo stato degli ingressi.Nello Zelio le word identificate con JX sono word di ingresso, cioè atte a contenere i dati ricevuti dall’esterno,mentre le word identificate con OX sono word atte a contenere dati che lo Zelio deve inviare.Per concludere, prendendo come esempio il registro (IEC) MW33 (Modicon) 4001+33, indifferentemente dallinguaggio di programmazione utilizzato, esso conterrà nei primi 8 bit partendo da sinistra l’ora del sistema, e neisuccessivi 8 bit i minuti. Questo registro come il precedente citato è sia in lettura che in scrittura, pertantosaremmo in grado sia di leggere l’ora ed i minuti dello Zelio che impostarli.

La configurazione dello Zelio LogicLa configurazione dello Zelio, inizia ovviamente con la configurazione Hardware, inserendo nel progetto il uno deimoduli logico SR3 ed il relativo modulo di espansione per il protocollo Modbus TCP. Il modulo “SR3NET01” come dafigura 4. Mediante il modulo “SR3NET01” siamo in grado di leggere e scrivere rispettivamente 8 registri delprotocollo Modbus TCP, di cui 4 in sola lettura e 4 in lettura e scrittura.

All’avvio dell’ide, configuriamo il modulo “SR3NET01” assegnandogli i parametri di rete come visibile in Figura 5:

converted by Web2PDFConvert.com

Page 4: Automation Installations Safety Electronics - PC Other ...download.istella.it/user/514c994a2578191b7b000029/originals/823c... · operatore KTP 400 della Siemens. ... domotica. Tenendo

Il programma di esempio visibile in figura 6 e da scaricare all’interno dello Zelio Logic è semplice ed intuitivo. Vi sonodue istruzioni chiamate CNA (punto 1) e CAN (punto 4) con la funzione di convertire rispettivamente una parola(word) in bit e viceversa. Un metodo analogo verrà utilizzato all’interno del PLC S7 1200. Al blocco CAN (punto 1)giungono i singoli bit provenienti dagli ingressi (punto 2) e vengono convertiti in word (punto 3) per essere poi residisponibili nel rispettivo registro del Modbus. Medesima cosa avviene con il blocco CAN (punto 4) ma al contrario, ilquale preleva i dati dal rispettivo registro del Modbus (punto 6) e li converte in bit (punto 5). In tal modo siamo ingrado di leggere e scrivere gli ingressi dello Zelio Logic e di attivarne le rispettive uscite mediante S7 1200 ed ilKTP400.Analoga cosa avviene per il temporizzatore (punto 9) dove mediante J2XT1 (punto 7) è possibile passargli i dati diparametrizzazione provenienti dal rispettivo registro del Modbus e restituirne il valore mediante O2XT1 (punto 8).Tramite questi due registri siamo in grado di parametrizzare con S7 1200 il temporizzatore dello Zelio Logic eleggerne il valore corrente. Entrambi i valori saranno visualizzati sia sul display dello Zelio (punto 10) che sul displaydel KTP400.

Il Programma per S7 1200.Nella figura 7 è visibile la struttura del programma.Esso contiene oltre al MAIN, un blocco funzionale per la comunicazione Modbus con il relativo blocco d’istanza, dueblocchi funzione per la conversione da word a bit e viceversa, ed un blocco dati dove abbiamo appoggiato i bufferdei dati da ricevere ed inviare.

converted by Web2PDFConvert.com

Page 5: Automation Installations Safety Electronics - PC Other ...download.istella.it/user/514c994a2578191b7b000029/originals/823c... · operatore KTP 400 della Siemens. ... domotica. Tenendo

Dopo le configurazioni di base, tipo la scelta della CPU, l’assegnazione dell’indirizzo IP ecc., inseriamo econfiguriamo il blocco della libreria MODBUS TCP selezionandola dal menù istruzioni a destra dell’ide, sotto la voceCOMUNICAZIONE>PROCESSORE DI COMUNICAZIONE>MODBUS TCP>MB_CLIENT.Dopo l’inserimento del blocco MB_CLIENT nel MAIN, deve essere opportunamente parametrizzato, come mostratoin figura 8.Avendo inserito nel MAIN per comodità due blocchi MB_CLIENT, uno per trasmettere ed uno per riceve, abbiamocreato una sorta di interblocco tra il blocco RX e TX mediante due bit della memoria Merker (M4.1 ed M4.2). Inquesto modo se in uno dei due blocchi è ancora attivo un ordine, l’antro blocco non viene eseguito.

Descrizione dei parametri di configurazione:DISCONNECT se portato alto, stabilisce la comunicazione con lo slave.CONNECT_ID identifica in modo univoco l’istanza Modbus;IP_OCTET_1/2/3/4 identifica l’indirizzo IP a cui connettersi;IP_PORT identifica la porta di comunicazione;MB_MODE definisce il modo di funzionamento, se il blocco deve inviare o ricevere. 0=RX ed 1=TX;MB_DATA_ADDR è l’indirizzo iniziale del registro che deve essere letto o scritto per prima. Nel nostro caso iniziamodal 40017 (4001+16) in scrittura ed in lettura dal 40021 (4001+20)MB_DATA_LEN è il numero di registri da scrivere e/o leggere. Nell’esempio ne scriviamo e leggiamo incontemporanea 4.MB_DATA_PTR punta hai registri del buffer di ricezione o trasmissione. Nell’esempio agli array presenti nel bloccodati che contengono i valori da inviare e ricevere. DONE è true quando si è concluso l’esecuzione del blocco senza errori.BUSY è true durante l’esecuzione del blocco, nell’esempio lo utilizziamo per comprendere quando è in esecuzione unordine di ricezione o trasmissione per non sovrapporre altri ordini.ERROR se true indica che si è verificato un errore, e nel parametro status viene indicato il codice dell’errore.STATUS In esso è presente il codice di errore e/o di stato dell’istruzione.

Dopo aver visto la parametrizzazione del blocco MB_CLIENT, il restò del programma viene da sé. Osservando lafigura 9, vi evince l’istruzione MOVE che ha il compito di trasferire nella seconda posizione dell’array TX il nuovovalore di preset del temporizzatore presente all’interno del software dello Zelio Logic, con il valore digitato nell’HMI(figura 10).

Si possono anche vedere osservando sempre la figura 9 i due blocchi funzione FC1 ed FC2 che come detto inprecedenza hanno il compito di convertire i singoli bit in merito allo stato dei pulsanti del pannello operatore in wordper comandare le uscite dello Zelio e di leggere lo stato degli ingressi sempre dello Zelio e visualizzarli sullo schermodel pannello operatore. Un po’ ciò che accade nello Zelio Logic hai punti 1 e 4 della figura 6.

converted by Web2PDFConvert.com

Page 6: Automation Installations Safety Electronics - PC Other ...download.istella.it/user/514c994a2578191b7b000029/originals/823c... · operatore KTP 400 della Siemens. ... domotica. Tenendo

Di seguito nella figura 10 è possibile vedere come appare la visualizzazione dei parametri per la gestione e lavisualizzazione dello Zelio Logic:

mentre nella figura 11 è possibile vedere la finestra di parametrizzazione dell’indirizzo IP con cui connettersi alloslave, lo stato della connessione è l’eventuale presenza di errori con il relativo codice di identificazione.

I codici sorgenti sia per lo Zelio Logic che per l’S7 1200 sono scaricabili da qui.

Il manuale del modulo Modbus SR3NET01 per lo Zelio Logic, può essere scaricato da qui

Nel forum è presente una discussione in cui viene trattato l'argomento: discussione

Articolo curato da Giuseppe Signorella

Disclaimer-Copyright-Privacy | © PLC Forum ® - Associazione PLC Forum - Sede legale: V.le Martiri della Libertà 38 Lissone (MB) P.IVA: 02687930137 | Pubblicita'

converted by Web2PDFConvert.com