ottavio65 Inserito: 29 dicembre 2002 Segnala Inserito: 29 dicembre 2002 Costruire un puntatore (indirizzamento indiretto) in S7 è relativamente facile e permette di riparmiare tempo per funzioni ripetitive...Purtroppo pero' con i plc S7 (ed anche con altri plc ma non tutti !) nel caso che il puntatore generato sia errato (punta un oggetto non esistente nel programma dbw db o altro) il plc si porta in stop...Qualcuno conosce un sistema di gestire questo errore prima che il plc vada in stop ?Grazie a tutti per le risposte e auguri
SuperD Inserita: 29 dicembre 2002 Segnala Inserita: 29 dicembre 2002 Se ho capito bene il tuo problema vui evitare che il PLC vada in stop nel caso ci sia un errore nel puntamento. Giusto? Se è questo che vuoi sapere, allora basta che inserisci nel tuo progetto S7 l'OB121.
FabioS Inserita: 30 dicembre 2002 Segnala Inserita: 30 dicembre 2002 Condivido il suggerimento sopra.E' comunque buona norma effettuare, dopo la generazione/calcolo del puntatore, un controllo di validità.Non conosco nel tuo caso il tipo di routine che stai elaborando, ma generalmente il puntatore deve lavorare in un campo ben definito, quindi, se dopo averlo calcolato, attraverso una verifica è fuori da questo campo lo di inizializza ad un valore di default, per evitare non tanto il blocco del PLC ma piuttosto elaborazioni dannose.
ottavio65 Inserita: 2 gennaio 2003 Autore Segnala Inserita: 2 gennaio 2003 FabioS+Dec 30 2002, 06:42 AM-->CITAZIONE(FabioS @ Dec 30 2002, 06:42 AM)Grazie per tutti i suggerimenti;So che è buona norma controllare il puntatore pero' nel mio caso sarebbemolto complicato oltre che laborioso...è molto piu' facile correggerloquando rilevo un errore.Per quanto riguarda l'ob121:A) E' possibile programmarlo in tutte le cpu ? Quale è precisamente la sua funzione ?Grazie a tutti per le risposte.
walterword Inserita: 4 gennaio 2003 Segnala Inserita: 4 gennaio 2003 ob 121 si puo programmare in tutte le cpu s7-300altri ob oppure sfc nonche sfb dipendono dalla cpuciao
SuperD Inserita: 4 gennaio 2003 Segnala Inserita: 4 gennaio 2003 La funzione dell'OB121 serve a non causare uno STOP del PLC nel caso sia stato fatto un errore nella programmazione ad esepio:puntatori, errori di indirizzamento o blocchi non aperti.Allinterno dell'OB è possibile risalire alla causa che ha scatenato l'intervento dall'OB121 e l'accensione del led rosso SF (se non ricordo male)della CPU. Tutte le informazioni sulla diagnostica dell'errore le puoi trovare nell . dell'S7 richiamando OB121.
LaRocca Inserita: 6 gennaio 2003 Segnala Inserita: 6 gennaio 2003 Ciao a tutti..Prima di tutto, Felice anno nuovo. Scusate per il tempo che non ho scritto ma come sapete per ora Venezuela é in una situazione molto dificile...Ora intrando in tema:Si pó fare una formula come cuesta per posizionamento in un area di un DB, il cuale serve come registro per il index.Posizione= [(Nº Elem-1)(cuantita di elementi)]+off setPosizione= [(Nº Elem*(cuantita di elementi)-(cuantita di elementi)]+off setEssempio:si crea un DB, é si fa un ARRAY con x elementi..0.0 WORD OCUPATO SISTEM OFF SET2.0 WORD OCUPATO SISTEM OFF SET4.0 WORD ELEM[1].X OFF SET ***LONG ELEM. 8 BYTES * 8 = 646.0 WORD ELEM[1].Y ****POS. DISIDERATA (ESSEMPIO)8.0 WORD ELEM[1].Z10.0 WORD ELEM[1].W12.0 WORD ELEM[1].X 14.0 WORD ELEM[1].Y ****POS. DISIDERATA (ESSEMPIO)16.0 WORD ELEM[1].Z18.0 WORD ELEM[1].WIn un FC o FB si fa il INDEX.. É si utiliza la formula cé ho dattoL #Nºelem // L 64 // LONG. ELEM 8 BYTES * 8= 64 BITS*IL 64-IL 48 // OFF SET +IL AR1 // SI FA UNA CARRICA AL INDEX REGISTER...é doppo utilizate cuesto AR1 per fare cosa si vuole..Ciao a tutti..Tony
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