Vai al contenuto
PLC Forum


Protocollo Siemens 3964r - Comunicazione PC - PLC S7300


Marco75

Messaggi consigliati

Ciao a tutti, ho un dubbio riguardo la comunicazione seriale

tra un PC ed un PLC Siemens.

Il PLC è un S7300 cui è stato aggiunto un modulo CP340 per

la comunicazione seriale(configurato con protocollo 3964R),

mentre sul PC è implementato il protocollo 3964R.

La mia domanda è:

il PC riesce a leggere/scrivere direttamente le aree di memoria del

PLC oppure invia solamente una serie di byte che il PLC deve

poi catturare con la funzione P_RCV?

Grazie in anticipo a chi vorrà rispondere

Link al commento
Condividi su altri siti


Matteo Montanari
il PC riesce a leggere/scrivere direttamente le aree di memoria del

PLC oppure invia solamente una serie di byte che il PLC deve

poi catturare con la funzione P_RCV?

per rispondere a questo quesito occorre sapere come è strutturato il programma sia nel PLC che nel PC

il protocollo seriale 3964R, è stato ereditato dalla serie S5 di siemens, in quanto era l'unico modo per poter comunicare con le schede di comunicazione (si parla di tanti anni fà).

il protocollo non era/è molto diverso da una comunicazione seriale, ma essendo un protocollo propietario deve seguire alcune regole, soprattuto nell'invio e ricezione dei messaggi, rispetto alle comunicazioni attuali è molto lento (strittura, lettura, aggiornamento) ma comunque contiene tutte le caratteristiche di una comunicazione.

il PC riesce a leggere/scrivere direttamente le aree di memoria del PLC

in questo caso il PC è il solo master ed è lui a "comandare" la comunicazione.

oppure invia solamente una serie di byte che il PLC deve poi catturare con la funzione P_RCV

in questo caso il PC sarebbe "sordo" in quanto invia in continuazione i dati, non sapendo se quest'ultimi vengano ricevuti.

non vorrei sbagliarmi ma a memoria, credo che il protocollo 3964R abbia bisogno di una conferma di ricezione messaggio, in questo caso, sia il PLC che il PC sono in comunicazione costante fra loro:

PC parla

PLC ascolta e risponde

PC risponde che ha capito e parla di nuovo

----

e così via.

ti ripeto che stò andando a memoria, quindi prendi questa ultima parte con le molle e dovute precauzioni

Link al commento
Condividi su altri siti

Ciao Matteo,

penso (spero) che la questione "PC parla - PLC risponde"

sia a carico del PC e della CP340.

Cioè il PC invia un messaggio alla CP340 secondo le

regole del protocollo 3964R, poi sarà la stessa CP340 che si

preoccuperà di rispondere al PC "OK, ho ricevuto correttamente

i tuoi dati".

Mi chiedo però se il PC invia alla CP340 un messaggio del tipo

"scrivi il vaore 100 in DB1.DBW0" oppure "prendi i seguenti byte

e mettili a disposizione del PLC nella zona di memoria predefinita".

In quest'ultimo caso il PLC dovrebbe leggere i byte ricevuti e

interpretarli per capire dove e cosa il PC vuole leggere/scrivere.

Spero di non aver fatto troppa confusione

Link al commento
Condividi su altri siti

Matteo Montanari
penso (spero) che la questione "PC parla - PLC risponde"

sia a carico del PC e della CP340.

Cioè il PC invia un messaggio alla CP340 secondo le

regole del protocollo 3964R, poi sarà la stessa CP340 che si

preoccuperà di rispondere al PC "OK, ho ricevuto correttamente

i tuoi dati".

è così infatti.

magari ho interpretato male la tua domanda/richiesta.

Mi chiedo però se il PC invia alla CP340 un messaggio del tipo

"scrivi il vaore 100 in DB1.DBW0" oppure "prendi i seguenti byte

e mettili a disposizione del PLC nella zona di memoria predefinita".

In quest'ultimo caso il PLC dovrebbe leggere i byte ricevuti e

interpretarli per capire dove e cosa il PC vuole leggere/scrivere.

Spero di non aver fatto troppa confusione

magari la comfusione l'ho fatta io.

comunque ora cercherò di rispondere chiaramente alla tua domanda, in caso contrario, benda sugli occhi, sigaretta in bocca, attenderò il plotone d'esecuzione.... :D

la CP340 è posizionata in una determinata zona dello slot di comunicazione.

a questa posizione corrispondono determinati indirizzi di ingresso ed uscita (li vedi nella configurazione hardware)

i blocchi standard (creati da siemens, o altre società che lavorano per loro) permettono si inviare e ricevere "dati" tramite i protocolli di comunicazione.

questa procedura può essere fatta a camando (per esempio se devi stampare un etichetta con una stampante) oppure in modo continuo. il tutto dipende da come viene inizializzato la funzione.

per l'utilizzo di queste funzioni devi comunicare alcuni dati:

l'indirizzo della scheda (potresti averne più di una)

i dati che devi comunicare

la lungezza dei dati

il protocollo di comunicazione

la velocità di comunicazione

ed altri (in base a che protocollo o scheda utilizzi)

in questo caso hai un area ben definita che ti permette di comunicare con la scheda e con l'interlocutore esterno

(normalente si utilizzano due aree di una stessa DB (esempio a partire al DBW0 per la trasmissione e dal DBW100 per la ricezione (DATI A CASO))

devi fare attenzione alla quantità di dati che ricevi/invii in quanto ogni scheda ha un limite (il buffer) e quindi se ti occorre trasferirie una quantità di dati che eccede questo limite lo devi fare con due trasmissioni/ricezioni.

inoltre per non appesantire il ciclo di scansione ti consiglio di eseguire solamente un ciclo di comunicazione (trasmissione O ricezione) per ogni ciclo del PLC, o fare un richiamo a tempo...

nelle librerie standard di STEP7 hai i vari blocchi di comunicazione, alcuni li trovi anche con i CD in dotazione con la scheda, oppure cercando sul sito siemens.

intanto vado a cercare un fazzoletto da usare come benda.... poi mi saprai dire...

Link al commento
Condividi su altri siti

Salve,

La mia domanda è:

il PC riesce a leggere/scrivere direttamente le aree di memoria del

PLC oppure invia solamente una serie di byte che il PLC deve

poi catturare con la funzione P_RCV?

Si , ti ci vogliono nella CPU la funzione P_RCV(FB2) per ricevere e P_SEND(FB3) per trasmettere

i dati tra la CPU e la CP attraverso il BUS PLC.

Il PC, intercambia i telegrammi con la CP, e i dati sono nel suo buffer interno.Poi ci vuole portarli alla

o prenderli dalla CPU a punto con FB2,FB3.

Se la CP viene settata con la procedura 3964®, non appena riceve un STX(02H) risponde con DLE(10H)

riconoscendo il protocollo e quindi trattando i successivi caratteri :

1 byte = 2 caratteri e non 1 byte = 1 carattere (ASCII).

ess.

'06'=06 H= 6 DEC; // 2 caratteri. (3964)

'6' =36 H= 54DEC; // 1 carattere (ASCII)

Saluto.

Link al commento
Condividi su altri siti

Visto che il programma PLC lo devo fare io, speravo che

PC e CP340 svolgessero completamente tutto il lavoro di

lettura e scrittura.

Peccato...

Comunque lunedì proverò e vi saprò dire

Intanto grazie per le informazioni

Marco

Link al commento
Condividi su altri siti

Come mi avevate detto, per comunicare tramite una CP340 servono per forza le FB P_SEND e P_RCV.

Parlando con Siemens, mi hanno spiegato che per poter leggere o scrivere direttamente in una DB deve

esserci all'interno del programma PLC un blocco emulatore del protocollo RK512.

Questo blocco (fornitomi da Siemens molto gentilmente) richiama al suo interno FB_SEND e FB_RCV ed interpretando i byyte ricevuti (telegramma RK512) scrive o legge direttamente nella DB richiesta.

Link al commento
Condividi su altri siti

Salve Marco75,

Dunque,

La CP340 l'ho sempre utilizzata in modo ASCII , mai in 3964 R.

Comunque, non penso sia escludente l'utilizzo di un blocco emulatore del protocollo RK512 ??

Dovresti riuscire anche ad implementarlo da solo.

Ma, per caso hai gia' datto una guardata al manuale ?

CP340

Vedi te, forse e' indicato da qualche parte l'emulatore RK...

Non vedo perche' non si possa fare con i blocchi P_SEND e P_RCV.

Saluto.

Link al commento
Condividi su altri siti

CP340 IT

Parlando con Siemens, mi hanno spiegato che per poter leggere o scrivere direttamente in una DB deve

esserci all'interno del programma PLC un blocco emulatore del protocollo RK512

Il RK512 e' un protocollo che emula un driver 3964 R, ma dal lato PC pero'.

Non penso che questo protocollo deva essere caricato nella CPU.

Informati meglio.

Info RK512

Saluto.

Link al commento
Condividi su altri siti

Salve Marco75,

Appendice

Dunque,

Leggendo questo appendix mi vengono dei dubbi sul interpreter RK512 per la CP340.

Sul manule ne parla del ASCII e del 3964 R ma mai del RK512 pero' ???

Io deduco che se la tua API PC usa questo protocollo, allora sei costretto a inserire questi

blocchi in AG (RK512 emulatore) come lo si fa' per il OP del appendice.

Comunque, ti saro' grato sapere come stai andando con questo progetto....

more info about CP340-RK512

Saluto.

Link al commento
Condividi su altri siti

  • 3 years later...

Ciao a tutti,chi di voi gentilmente mi può spiegare passo passo la costruzione di una pozzetta per la messa a terra per un normale impianto con potenza contatore da 3,3kw??

Grazie,siete sempre molto esudienti.

Link al commento
Condividi su altri siti

Del_user_23717

Sai che una volta creato l'impianto disperdente, ne dovrebbe essere misurata la resistenza totale....

Comunque sia, ti serve un picchetto (dispersore), basta andare in un negozio di materiale elettrico all' ingrosso e chiederlo (solitamente ti danno un pezzo di acciaio zincato con sezione a T di almeno 1,5 m), se vuoi il picchetto ispezionabile, puoi chiedere un pozzetto in resina con coperchio adatto al picchetto che ti hanno dato prima, richiedi anche il morsetto per collegare il CT (conduttore di terra) al dispersore, e a che ci sei ti fai dare anche una matassa di cavo G/V da 16 mmq.

Vai in giardino col materiale appena acquistato, fai un buco nel terreno e ci conficchi per bene il paletto a colpi di mazza e olio di gomito, poi inserisci il pozzetto dopo averlo forato nella parte bassa e lo porti al livello desiderato, cementi il tutto se necessario, colleghi il CT G/V tramite morsetto apposito al dispersore, e tramite corrugato apposito porti l'altro capo del cavo G/V alla barra principale di terra dove convoglia il PE e tutti gli altri G/V di casa (se hai collegamenti EQP).

A questo punto, chiami un "elettrico" e gli chiedi se gentilmente è in grado di venire a misurare la tua resistenza di terra, se il valore rilevato non supera i 1000 ohm (dipende anche dal terreno, non solo dal tuo operato) puoi ritenerti moderatamente soddisfatto (è il primo impianto fatto? sarebbe meglio in tal caso migliorarlo con l'aggiunta di un' altro dispersore e magari usando della corda nuda di rame da fare girare intorno alla casa), ma ti conviene usare un differenziale generale non superiore a 30mA, se invece sei sotto i 100 ohm puoi ritenerti felice...

Auguri.

Link al commento
Condividi su altri siti

Ho notato che in prossimità di molti dispersori (o insiemi di dispersori) di terra è installato un sezionatore particolare (meccanico) che scollega appunto i dispersori per effettuare misurazioni. E' obbligatorio ?

Link al commento
Condividi su altri siti

Benny Pascucci
se il valore rilevato non supera i 1000 ohm (dipende anche dal terreno, non solo dal tuo operato) puoi ritenerti moderatamente soddisfatto
Io non sarei così soddisfatto.....caspita 1000 ohm da un impianto di terra con corda da 16mmq e picchetto da 1,5 m, mi sembra un pochino troppo.....penserei che c'è qualcosa che non va...sicuramente non il rerreno......magari, quando ho collegato il GV al picchetto mi sono dimenticato di spellare il cavo.... :rolleyes:
E' obbligatorio ?
E' un retaggio del passato, quando per la misura della resistenza di terra era richiesta la misura dispersore per dispersore. Modificato: da Benny Pascucci
Link al commento
Condividi su altri siti

E' un retaggio del passato, quando per la misura della resistenza di terra era richiesta la misura dispersore per dispersore.

Grazie per la risposta. Non mi sono espresso benissimo, quindi ti chiedo gentilmente conferma:

Intendevo che a volte ho notato un UNICO sezionatore che interrompe il conduttore di terra che arriva all' EQP, i dispersori sono collegati tra di loro (ad esempio in cascata) senza ulteriori sezionatori.

Ero convinto che fosse utile per le misure facilitando il sezionamento dei dispersori.... in caso si considerasse l'intero impianto di terra in toto la misura della resistenza ad esempio potrebbe essere influenzata anche da eventuali tubazioni metalliche collegate di proposito all'impianto di terra.

rigrazie in anticipo

Link al commento
Condividi su altri siti

Benny Pascucci
Ero convinto che fosse utile per le misure facilitando il sezionamento dei dispersori....
Sì, su alcuni installatori lo mettono proprio per quello.
in caso si considerasse l'intero impianto di terra in toto la misura della resistenza ad esempio potrebbe essere influenzata anche da eventuali tubazioni metalliche collegate di proposito all'impianto di terra.
La resistenzxa di terra è influenzata in positivo da tali collegamenti, nel senso che tali elementi contribuiscono ad abbassarne il valore. Il valore della resistenza di terra è quello che viene fuori dal collegamento dei dispersori intenzionali e di fatto, sezionare i dispersori intenzionali ha poco senso.
Link al commento
Condividi su altri siti

Del_user_23717
Io non sarei così soddisfatto.....caspita 1000 ohm

Al di la dei valori schietti e sinceri, per cordinare un differenziale da 30mA, ti basta anche meno... anche se parliamo di volori pessimi di resistenza, e nessuno dormirebbe tranquillo, specialmente (come hai fatto notare) quando si è speso anche una bella cifra per una matassa da 16 di corda, il picchetto da un metro e mezzo e il sudore "secernito" (o secerso?)...

Però Benny, clemenza: in fin dei conti avevo scritto "moderatamente soddisfatto" giusto per premiare il lavoro svolto... eh eh no?

Vorrei sottolineare che personalmente consiglio di lasciare fare gli impianti di terra solo a personale esperto, addestrato e qualificato, a differenza dell' impianto elettrico e del fai da te in proposito su cui sono anche favorevole, "la terra" è qualcosa che lavora in silenzio, e se non è funzionale rischia di non servire a nulla, ma soprattutto col rischio di accorgersene a proprie spese.

Link al commento
Condividi su altri siti

marco battilana

tenendo conto che una matassa da 16 mmq di giallo verde costerà all'incirca almeno 150 euro, penso che gli convenga farselo fare da chi ne è capace e che magari i restanti 90 metri (cifra buttata li) riesce a riutilizzarli in altri impianti...

Link al commento
Condividi su altri siti

Io sono d'accordo con Benny Pascucci riguardo il valore della terra; io direi 100 ohm moderatamente soddisfatto e 20-25 Ohm molto soddisfatto. Ciao

Link al commento
Condividi su altri siti

tenendo conto che una matassa da 16 mmq di giallo verde costerà all'incirca almeno 150 euro

Perchè deve comprare una matassa intera? Prima si misura la lunghezza necessaria, poi si compra al metro. Se poi si arriva a 70-80m, il negoziante comincia a rompere le scatole per convincerti a comprare la matassa intera. In ogni caso, quello che avanza si può vendere su ebay ;)

Ciao :)

Modificato: da LB81
Link al commento
Condividi su altri siti

Personalmente non è sempre facile reperire un cavo di quel tipo a metro, ma solo a matasse.

Probabilmente la reperibilità non è la stessa da luogo a luogo.

Link al commento
Condividi su altri siti

Del_user_23717

Dalle mie parti dai grossisti te lo scordi che ti vendono quelle sezioni a metro...

E se le trovi da un piccolo rivenditore, 30/50 mt ti costano quanto una matassa da 100 mt, quindi...

PS: Forse non si era capito il mio tono ironico prima, ovviamente con 1000 ohm di resistenza non c'è da essere molto soddisfatti...

Link al commento
Condividi su altri siti

Dalle mie parti dai grossisti te lo scordi che ti vendono quelle sezioni a metro

Se vai da un grossista, è difficile che venda al dettaglio. Bisogna rivolgersi a rivenditori di media grandezza, classificati come "ingrosso e dettaglio". Non ho mai avuto problemi a reperire il 16mmq al metro (pagandolo al giusto prezzo di listino), per gli impianti di terra è considerata una sezione molto comune, addirittura si trova anche a castorama oppure bricocenter (ma come dici tu, a caro prezzo). Al limite rimane Ebay, dove molti rivenditori medio-grandi pubblicano annunci, oppure forniscono qualsiasi materiale su richiesta, fornendo regolare scontrino o fattura all'atto dell'acquisto. Ho acquistato più volte da loro, rimanendo soddisfatto sotto ogni punto di vista.

Ciao :)

Modificato: da LB81
Link al commento
Condividi su altri siti

  • 11 months later...

Stò convertendo un applicazione da S5 A S7 e in particolare devo collegare un pannello operatore non siemens con il plc.

Il pannello operatore utilizza il protocollo 3964 e non posso modificarlo.

sul programma S5 scriveva i dati su una DB e leggeva i dati su un'altra DB.

Ora vorrei riportare il tutto su una CPU 313C2-ptp è possibile?

Ho provato ad utilizzare gli sfb 60,61,61 ma non sembrano funzionare correttamente.

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...