Vai al contenuto
PLC Forum


Help Su Sfc 67 : X_get - Come conigurarla?


Daniele C.

Messaggi consigliati

Sono sempre al solotoprblema: leggere i dati di un S7-200 da un S7-300.

Vorrei utilizzare la SFC 67 X_GET ma non riesco a parametrizzarla correttamente: qualcuno l'ha già utilizzata e sa come utilizzarla?

Grazie

Link al commento
Condividi su altri siti


emanuele.croci

Ciao,

questo qui sotto può essere un esempio.... non so quanto comprensibile.....

ma sei sicuro di poter fare questo collegamento? S7-200 ha interfaccia MPI o PPI?

CALL SFC 67

REQ :=M253.5

CONT :=FALSE

DEST_ID :=W#16#F

VAR_ADDR:=P#DB50.DBX 0.0 BYTE 16

RET_VAL :=DB18.DBW4

BUSY :=DB18.DBX2.0

RD :=P#DB18.DBX20.0 BYTE 16

Ciao, Emanuele

Link al commento
Condividi su altri siti

Dago, ti sei dimenticato il link.......

Comunque vi racconto cosa ho fatto, cosa mi succede per darvi le maggiori info possibili:

- ho un S7-200 ed un S7-300 collegate con il "cavo viola" e connettori Siemens;

- Non ho routine di comunicazione sul 200 ma solo sul 300 (la X_get)

- ho impostato la velocità di comunicazione sul 200 a 19200 bps (sul 300 è di default)

- in rete vedo il 200 ma non riesco ad accederci tramite lettura dal 300

- online sul 300 vedo la SFC lampeggiare da verde a grigia ma di valori in uscita neanche a parlarne. nel registro degli errori leggo "errore vario di comunicazione dovuto ad indirizzo puntato male o inesistente oppure indirizzamento del plc errato".

Sono sicuro che l'indirizzo del plc sia giusto ; secondo me non riesco a impostare correttamente l'area di lettura sull'S7-200.

Aiuto, mi sta facendo diventare matto.........

Link al commento
Condividi su altri siti

Gabriele Corrieri

Ciao

se ci si mette gli occhiali B) si vede che parola Siemens è il link.

La velocità deve essere impostata a 187,5Kbps altrimenti il 300 non legge la cpu.

Ciao

Link al commento
Condividi su altri siti

- La velocita' della porta S7-200 deve essere di 187.5Kb.

- La X-GET (sul 300) deve essere configurata per leggere la "DB1" che altri non e' che l'area "V" del 200.

ESEMPIO:

L'indrizzo dell'S7-200 e' staoconsiderato = 6 (W#16#6)

La DB1 dell'S7-200 corrisponde alla area "V" (DB1.DBB0=VB0, DB1.DBD6=VD6 ecc).

L'area di lettura e' stata impostata = DB1.DBB0 per 16 bytes,

CALL SFC 67

REQ :=M0.1 //M0.1=sempre ON -> Richiesta continua

CONT :=M0.0 // M0.0 =sempre OFF

DEST_ID :=W#16#6 //Indirizzo dell'S7-200

VAR_ADDR :=P#DB1.DBX 0.0 BYTE 16 //Lettura dei primi 16 bytes dell'area "V"

RET_VAL :=MW10 // Eventuale codice di errore

BUSY :=M5.0 // Trasmissione in corso

RD :=P#DB10.DBX0.0 BYTE 0 //Dove mettere u dati letti.

Link al commento
Condividi su altri siti

Problema:

non riesco a settare la velocità di 187.5 Kb sui 200 perchè utilizzo una interfaccia PPI (che da configurazione arriva fino a 19,2 Kb); meglio: posso settare la velocità ma poi non posso più fare nulla al PLC!!!!

Con l'interfaccia MPI che utilizzo per il 300 non riesco a comunicare con il 200 anche se abbasso la velocità a 19,2Kb.

Misteri di Siemens......

Link al commento
Condividi su altri siti

Matteo Montanari

cambia le impostazioni della porta, se ne hai solo una, in base alla posizione del selettore Stop-Term-Run in questo modo puoi comunicare con la rete quando sei in Run o con il PC quando sei in Term.

----

Da manuale S7-200

Impostazione della porta 0

SMB30: Registro di controllo del modo freeport

SMB30 controlla la comunicazione liberamente programmabile per l’interfaccia 0. È possibile leggere e scrivere in questi byte.

I byte configurano la rispettiva interfaccia per il funzionamento freeport e consentono di selezionare il protocollo liberamente programmabile o il protocollo di sistema.

SMB30

p pdb b bmm

SM30.6 e SM30.7 pp Selezione della parità 00 = nessuna parità 01 = parità pari 10 = nessuna parità 11 = parità dispari

SM30.5 d Bit di dati per carattere

da SM30.2 a SM30.4 bbb Velocità di trasmissione freeport 000 = 38.400 baud 001 = 19.200 baud 010 = 9.600 baud 011 = 4.800 baud 100 = 2.400 baud 101 = 1.200 baud 110 = 600 baud 111 = 300 baud

SM30.0 e SM30.1 mm Selezione del protocollo 00 = Protocollo per l’interfaccia punto a punto (PPI/modo slave) 01 = Protocollo freeport 10 = PPI/modo master 11 = Riservato (passa per default al PPI/modo slave)

Avvertenza: se si seleziona il codice mm = 10 (master PPI), la CPU diventa un master della rete e consente l’esecuzione delle operazioni NETR e NETW. Nei modi PPI i bit da 2 e 7 vengono ignorati.

Controllo del Selettore di funzionamento

SMB0: Bit di stato

SM0.0 Questo bit è sempre ON (impostato su 1).

SM0.1 Questo bit è sempre ON per il primo ciclo di scansione. Viene utilizzato, ad esempio, per richiamare un sottoprogramma di inizializzazione.

SM0.2 Questo bit è on per 1 ciclo di scansione in caso di perdita dei dati a ritenzione. Può essere utilizzato come merker di errore o come meccanismo per richiamare una speciale sequenza di avvio.

SM0.3 Questo bit viene attivato per un ciclo se si passa allo stato RUN da una condizione di avvio. Può essere utilizzato per fornire un tempo di riscaldamento (warm-up) del sistema prima di avviare delle operazioni.

SM0.4 Questo bit mette a disposizione un impulso di clock di 60 secondi (on per 30 secondi, off per altri 30). Viene così fornito un ritardo facile da programmare o un impulso di clock di un minuto.

SM0.5 Questo bit mette a disposizione un impulso di clock di 1 secondo (on per 0,5 secondi, off per altri 0,5 secondi). Viene così fornito un tempo di ritardo facile da programmare o un impulso di clock di un secondo.

SM0.6 Questo bit è un clock di ciclo di scansione che è attivo per un ciclo e disattivato per il ciclo successivo. Può essere utilizzato come ingresso di conteggio del ciclo di scansione.

SM0.7 Questo bit rispecchia la posizione dell’interruttore degli stati di funzionamento (off=TERM; on=RUN). Se viene utilizzato per attivare il modo freeport quando l’interruttore è in RUN, esso consente di abilitare la comunicazione con il PG commutando l’interruttore su TERM.

Modificato: da keosmm
Link al commento
Condividi su altri siti

Io non devo utilizzare il metodo freeport per colloquiare con l'S7-300 ma mi serve settare la velocità a 187,5Kb per la comunicazione MPI.

Nello stesso tempo non ha la possibilità di settare una velocità di 187,5Kb sulla comunicazione PPI.....

O io non ho capito niente oppure c'è qualche cosa che mi sfugge......

Ricapitoliamo:

1) La comunicazione MPI è a 187,5Kb, quindi se voglio leggere dati dai un 200 da un 300 con la X-get devo configurare la comunicazione sul 200 per tale velocità.

2) Se cambio la velocità della CPU 200, cosa che posso fare perchè nel munù a tendina me la mette disponibile, posso finalmente comunicare col 300 ma......

3) Non posso più comunicare in PPI col mio 200 e quindi cambiare il programma, farne il debug etc.

4) Con il cavo MPI non rieco a comunicare con il 200 ma solo con il 300.

:blink:

Se mi date una mano evito di strapparmi i capelli.....

Link al commento
Condividi su altri siti

Gabriele Corrieri

Ciao

esattamente. Le soluzioni sono tante comunque.

1) Sai fare debug a mente e allora provi prima il 200 a 9600 o 19200 bps e poi porti la velocità a 187,5Kbps e trasferisci i dati al 300

2) Acquisti una CP5611 (PCI - pc da tavolo) oppure una CP5512 (pc portatile) che supporta il PPI a 187,5Kbps

3) Acquisti una CP243-1 x Ethernet e lavori via ethernet col 200

4) Acquisti una EM277 che dovrebbe renderti disponibile una porta PPI a 187,5Kbps accessibile dall'adapter MPI (notizia da HotLine Siemens

5) Acquisti un ppi adapter usb che dovrebbe supportare la velocità di 187,5Kbps

Ciao

Link al commento
Condividi su altri siti

Ho capito: in ogni caso mi devo preparare a sborsare un sacco di soldi come al solito!

Pazienza, grazie lo stesso dei consigli!

Link al commento
Condividi su altri siti

Forse no: è bastato impostare la velocità della MPI dell'S7-300 a 19,2Kb.

Ora, con i consigli di tutti voi, sono riuscito a far comunicare i duo PLC.

GRAZIE !!!!!!!

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...