Vai al contenuto
PLC Forum


Sfc 15 - quanti byte posso scambiare al max ??


David.Stefanutti

Messaggi consigliati

David.Stefanutti

Attualmente sto scambiando 2 word tra 2 plc con questa SFC su profibus-DP.

I 2 PLC sono rispettivamente una 315-2DP (Master) e una 314c-2DP (Slave).

A quanto posso arrivare??

Ho cercato parecchio dove guardare?? quello che ho trovato io, nelle caratteristiche della cpu, è :

Per la 314c:

Dati tecnici->Slave Dp->Servizi->Memoria di trasferimento->244 byte I/244 byte O

Per la 315-2DP

Dati tecnici->Maseter Dp->Servizi->Memoria di trasferimento->Max 244 byte

Sono questi???

Link al commento
Condividi su altri siti


Selezionando L'SFC in question , e premendo F1 , compare l'.

Scopo dell’SFC 15

L’SFC 15 "DPWR_DAT" è necessaria in quanto con i comandi di trasferimento che hanno accesso alla periferia e all'immagine di processo degli ingressi è possibile scrivere in modo coerente un massimo di quattro byte.

Il limite di scambio dati , e' dato dalla periferia della cpu ( se usi la 2dp della cpu ) o dalla scheda.

tale limite , con un po' di sw , e' infinito ( facendoti un piccolo protocollo e velocita' permettendo)

Ciao

Luca

Link al commento
Condividi su altri siti

David.Stefanutti

Sinceramente, ho capito poco... ma non perchè ti sei spiegato male!

Devo scambiare dei dati via profibus tra le due cpu e il metodo che ho utilizzato inizialmente è quello con l'SFC 15 e funziona con poco...

CALL "DPWR_DAT"

LADDR :=W#16#C8 // USCITA 200 (VEDI IMPOSTAZIONE HW)

RECORD :=P#DB2.DBX 40.0 WORD 2

RET_VAL:=MW60

ora però devo allargare la quantità di dati non più le 2 word che vedi li

il mio dubbio è:a quante word posso arrivare??

Modificato: da David.Stefanutti
Link al commento
Condividi su altri siti

Con SFC14 o 15 , leggi o scrivi in modo coerente da/su una area di periferia

leggi o scrivi in modo coerente max 4 byte per volta , ma questo non ti limita i byte da leggere / scrivere con un SFC, Il limite e' quello della periferia della cpu che utilizzi ( dalle CPU che menzioni , come hai gia' detto e' di 244byte )

Io , personalmente sono arrivato al massimo a circa 140 byte senza problemi . ( quando scrivo con SFC15 , dall'altra parte leggo con SFC14 )

Ovviamente , quello che leggi o scrivi deve combaciare con la configurazione HW in S7

E' il profibus che ti aggiorna le aree di periferia dichiarate in HW , con SFC14 , 15 le leggi / scrivi in modo coerente ( se non ti interessa la coerenza puoi anche fare dei L PIW o T PQW )

Se l'area non ti basta , ti puoi fare una sorta di multipexer

Se non le dichiari in periferia , puoi usare l'SFB/FB 14 "GET" l'SFB/FB 15 "PUT" ( devi avere un indirizzo progettato in netpro)

Ciao

Luca

Link al commento
Condividi su altri siti

Scusate, mi è partita la risposta per errore.

Stavo dicendo che forse interpreto male le parole di Luca ma...

l'SFC15 (e anche l'SFC14) permettono di scrivere/leggere 3 oppure PIU' di 4 byte per volta, ovvero ti permettono di eseguire quelle operazioni di gestione della periferia che altrimenti sarebbero limitate a 2 bytes (L PEW...) o 4 bytes (T PAD...).

Certo, volendo puoi leggere anche 20 bytes con L PEW... però devi richiamare l'istruzione per 10 volte... :(

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