Vai al contenuto
PLC Forum


Info: Ag-send/ag-recv Con Quantita' Dati Variabile - Shift dei dati nel buffer di ricezione


Messaggi consigliati

Inserito:

Ciao

Ho provato a stabilire una comunicazione tra 2 Plc usando le funzioni AG-Send e AG-Recv su un collegamento TCP, fin qui tutto normale ...

Ho configurato i blocchi come segue:

--- PLC 01 (solo Tx)

CALL "AG_SEND"

ACT :=#TxSTART // START TRASMISSIONE DATI

ID :=#ID_CONNESSIONE // ID CONNESSIONE (cfg connessioni)

LADDR :=#ID_HARDWARE // ADDRESS HARDWARE (cfg hardware)

SEND :=#PTR_BUFFER // PUNTATORE AREA Tx

LEN :=#DATA_LENGHT // LUNGHEZZA IN BYTE DATI Tx

DONE :=#TxDONE // DATI TRASMESSI

ERROR :=#TxERROR // ERRORE IN TRASMISSIONE DATI

STATUS :=#TxSTATUS // STATO TRASMISSIONE

#PTR_BUFFER definito come DB1000.DBX0.0 Byte 2048

#DATA_LENGHT = 2048

--- PLC 02 (solo Rx)

CALL "AG_RECV"

ID :=#ID_CONNESSIONE // ID CONNESSIONE (cfg connessioni)

LADDR :=#ID_HARDWARE // ADDRESS HARDWARE (cfg hardware)

RECV :=#PTR_BUFFER // PUNTATORE AREA Rx

NDR :=#RxDONE // DATI RICEVUTI

ERROR :=#RxERROR // ERRORE IN RICEZIONE DATI

STATUS :=#RxSTATUS // STATO RICEZIONE

LEN :=#RxLENGHT // LUNGHEZZA PACCHETTO RICEVUTO

#PTR_BUFFER definito come DB1000.DBX0.0 Byte 2048

La comunicazione funziona correttamente, volendo pero' inviare dati differenti, e quindi quantita' di dati differenti, ho provato a

modificare il valore di #DATA_LENGHT nella funzione AG-Send, come risultato ho ottenuto che i dati vengono trasmessi ma ad ogni ricezione

cambia la loro posizione nel buffer gestito dalla funzione AG-Recv ...

Il fenomeno scompare dopo una spegnimento e riaccensione dei Plc, e si ripropone al primo cambiamento di #DATA_LENGHT.

Forse non ho eseguito i test correttamente o forse sto' commettendo un errore di fondo comunque non mi spiego lo shift dei dati nel buffer di ricezione,

mi sarei aspettato un errore piuttosto ...


Inserita:

Ciao caracarogna,

è strano quanto ti trovi, ora sono in fase di start up quindi tempo a disposizione per provare (leggasi belinate) non ne ho, ma piuttosto ti invito a provare un pacchetto di comunicazione Siemens chiamato "SIMATIC_LCom_V1_0" che funziona però solamente con queste cpu:

Development tool:

SIMATIC Manager V5.4 SP2

Controllers:

S7-300 CPU 315-2 PN/DP

S7-300 CPU 317-2 PN/DP

S7-300 CPU 319-3 PN/DP

S7-400 CPU 414-3 PN/DP

il bello è che non ti serve creare i collegamenti nel netpro e a quanto pare funziona.

goditi il sole mentre io resto a marcire nella pianura padana...

pigroplc

Inserita:

Grazie Pigro ... lo provo subito e appena ho fatto ti faccio sapere ...

Che buffo pero' ...

leggasi belinate

ne evinco che siamo compaesani ...

goditi il sole mentre io resto a marcire nella pianura padana...

e anche allo stesso freddo ...

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