lappone2 Inserito: 3 agosto 2011 Segnala Share Inserito: 3 agosto 2011 Salve a tutti.Sono per la prima volta alle prese con una comunicazione MODBUS.Ho una CPU Vipa 321-5BE03 con PTP RS485 integrato da far comunicare in MODBUS con un'ALTIVAR 31 (successivamente devo collegare in reteanche un Termoregolatore)Il cablaggio e la configurazione di base non è un problema, il trauma sono le SFC fornite da Vipa.Oltre alla difficoltà iniziale visto che l'affronto per la prima volta, ci si mette anche una documentazione decisamente scadente, un PDF ridotto a 4-5 paginette.Posto un pò di codice di esempio e chiedo aiuto e delucidazioni...Ricezione CALL SFC 218 //ricezione DataPtr:=P#DB21.DBX0.0 BYTE 40 //DB21 DW0 buffer ricezione lunghezza 40 byte DataLen:=MW140 //conteggio uso interno Error :=MW142 //Word di errore RetVal :=MW144 //Return-Code Questa funzione la richiamo in OB1 così la ricezione è sempre attiva. Non capisco perchè non è possibile parametrizzare e puntare un'area di registri da me definita in HEX.... Forse è possibile "ascoltare" solo ciò che arriva. Ma se ho un'inverter tipo il mio ATV31, come faccio e dirgli di inviare qualcosa? Spedire OPN "DB-SEND" Apro il di appoggio DB20 L W#16#403 // slave 4 ,funzione 3 leggi n words T DBW 0 Parametrizzo cosa, come e a chi devo spedire il telegramma L W#16#2199 // da indirizzo 2199 hex T DBW 2 L 100 // 10 words T DBW 4 Parametrizzo da quale area partire e quante word scrivere CALL SFC 217 // spedire DataPtr:=P#DB20.DBX0.0 BYTE 6 // Send inizio e lunghezza DataLen:=MW190 // uso interno SFC RetVal :=MW192 // Return-CodeSpedisco....Se qualcuno ha esperienza mi faccia sapere...Grazie. Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora