yupanqui Inserito: 6 maggio 2008 Segnala Share Inserito: 6 maggio 2008 (modificato) Di molte variabili che ho utilizzato nel programma non conosco l'indirizzo fisico visto che è il compilatore ad assegnarlo in automatico.ora mi viene un dubbio.quando esco dall'emergenza e voglio fare un general reset iniziale come faccio a resettare queste memorie.c'è magari una funzione che mi butta a zero tutte le memorie interne?grazie. Modificato: 6 maggio 2008 da silver Link al commento Condividi su altri siti More sharing options...
Roberto Gioachin Inserita: 7 maggio 2008 Segnala Share Inserita: 7 maggio 2008 Non puoi "buttare a zero" le memorie interne a caso, e tu non hai idea quali siano quelle che ti servono.Quindi hai due possibilità, azzerare i singoli bit uno per uno, oppure dichiarare un array ed utilizzate i singoli bit di questo array.In questo modo puoi azzerare tutti i bit che vuoi con una sola istruzione, in quanto i bit hanno una posizione conosciuta.CiaoRoberto Link al commento Condividi su altri siti More sharing options...
yupanqui Inserita: 8 maggio 2008 Autore Segnala Share Inserita: 8 maggio 2008 Intanto grazie per la risposta.Ho capito quello che dici però è un po laboriosa la cosa.Considera che non mi interessa mantenere a uno nessun bit.Il general reset iniziale per me è come spegnere e riaccendere la macchina quindi se ci fosse una funzione che mi resetta tutte le memorie ma proprio tutte sarebbe la soluzione piu semplice. chiaramente tutte le memorie non ritentive.c'è una funzione che rersetta tutto? Link al commento Condividi su altri siti More sharing options...
Roberto Gioachin Inserita: 10 maggio 2008 Segnala Share Inserita: 10 maggio 2008 Guarda l'istruzione "Copy" dalla libreria MatsushitaCiaoRoberto Link al commento Condividi su altri siti More sharing options...
yupanqui Inserita: 13 maggio 2008 Autore Segnala Share Inserita: 13 maggio 2008 grazie della risposta roberto ma neanche la funzione copy non mi è utile.Con la funzione copy posso copiare il contenuto di una WORD in una area di memoria delimitata da una word di inizio e una di fine.Non appena inserisco il nome della word finale nella funzione "cioè WR62" è come se dichiarassi che tutte le R sono assegnate a me e non al compilatore.Quindi non potendo scrivere indirizzi di word assoluti non posso resettare tutto.Le R che dichiaro io le resetto come e quando voglio ma quelle lasciate al compilatore non posso controllarle. Link al commento Condividi su altri siti More sharing options...
Roberto Gioachin Inserita: 13 maggio 2008 Segnala Share Inserita: 13 maggio 2008 Io credo che se usi un ambiente di sviluppo che esegue una compilazione, avrai sempre questo tipo di problema, ma forse la soluzione sta nel cambiare modo di programmare.Questo non per dire che il tuo modo sia sbagliato, peraltro neanche lo conosco, ma con ambienti di sviluppo di questo tipo ti devi adattare al suo modo di lavorare.Io utilizzo entrambi i software della panasonic, e comprendo bene questo tipo di problemi, sono convinto che per ogni vantaggio che si ottiene si deve sempre pagare un piccolo scotto.Con Fpwin-gr hai il massimo di libertà nell'utilizzare le variabili che siano a bit o a parole, ma è anche vero che è più facile commettere errori. Inoltre non si possono creare e riutilizzare le "function", e questo la dice lunga.In pratica, prova a ideare un diverso modo di programmare, magari non utilizzando le istruzioni di set e reset, magari ottieni anche altri vantaggi.Non credo di esserti stato molto di aiuto, ma come dicevo prima per ogni vantaggio si deve pagare qualcosa, e questa è una di quelle.CiaoRoberto Link al commento Condividi su altri siti More sharing options...
del_user_56966 Inserita: 13 maggio 2008 Segnala Share Inserita: 13 maggio 2008 Non capisco in quale caso devi azzerare delle variabili in consegna al compilatore!Se su queste variabili ti serve il controllo completo non fai prima a dichiararle come globali e quindi statiche ???Sinceramente non mi risulta che questo sia un problema, le funzioni di sicurezza possono essere tranquillamente statichesenza problemi non penso che tutte quelle del programma siano sottoposte a questo azzeramento!?In ogni caso il compilatore le utilizza in maniera diretta tramite l'alias assegnato quindi se azzeri questo ottieni direttamente il reset della stessaindistintamente dal suo indirizzo fisico! Link al commento Condividi su altri siti More sharing options...
Roberto Gioachin Inserita: 13 maggio 2008 Segnala Share Inserita: 13 maggio 2008 In ogni caso il compilatore le utilizza in maniera diretta tramite l'alias assegnato quindi se azzeri questo ottieni direttamente il reset della stessaindistintamente dal suo indirizzo fisico!Certo questo è vero, ma la richiesta era su come si poteva azzerarle tutte con una sola istruzione e non singolarmente.Devi considerare comunque che i diversi modi di programmare hanno diverse necessità.Si dovrebbe analizzare la tecnica di programmazione di "silver" per capire il motivo di tale necessità.CiaoRoberto Link al commento Condividi su altri siti More sharing options...
del_user_56966 Inserita: 13 maggio 2008 Segnala Share Inserita: 13 maggio 2008 (modificato) Si dovrebbe analizzare la tecnica di programmazione di "silver" per capire il motivo di tale necessità.Si è vero! ma una volta capito come, è il programmatore che si adatta al sistema non viceversa... Modificato: 13 maggio 2008 da alen Link al commento Condividi su altri siti More sharing options...
yupanqui Inserita: 16 maggio 2008 Autore Segnala Share Inserita: 16 maggio 2008 Allora vi spiego.Io programmo macchine sequenziali quindi ho scelto di programmarle a passi.parto dal passo uno e se ho le condizioni per andare avanti setto il passo 2 e resetto il passo 1.in questo modo posso crearmi il flow chart del programma su carta e in qualsiasi momento mi è facile apportare modifiche.In questo modo però quando la macchina va in emergenza devo per forza di cose resettare il passo che è rimasto settato.se il mio programma è fatto di 500 passi comincia a essere un impresa.Ora non stò qui a discutere se il mio modo di programmare è il modo migliore o meno.Ovvio che come dice alen è il programmatore che si adatta all'hardware e al software che ha a disposizione.però non conoscendo questi plc e considerato che finora ho programmato plc della GE della SIEMENS e HB allo stesso modo, pensavo di non incontrare problemi.è anche vero che è la prima volta che lascio al compilatore il compito di assegnare gli indirizzi fisici alle mie variabili quindi questo cambia le cose.Di conseguenza credo che se voglio sfruttare questa bella possibilità di lasciare al compilatore l'assegnazione degli indirizzi dovrò per forza di cose cambiare modo di programmare.Qualsiasi altro suggerimento o consiglio è ben accetto.Grazie ragazzi. Link al commento Condividi su altri siti More sharing options...
Roberto Gioachin Inserita: 18 maggio 2008 Segnala Share Inserita: 18 maggio 2008 Adesso è più chiaro quello che devi fare, e mi trovi daccordo sul fatto che il problema è di non facile soluzione.Hai "Beccato" un punto in cui Fpwin-pro "cede" rispetto Fpwin-gr.Infatti Fpwin-pro non utilizza tutte le istruzioni disponibili sui plc della serie FP, una di queste è proprio l'istruzione "SCLR" , che permette di cancellare tutti gli step attivi fornendogli come informazione il numero del primo e il numero dell'ultimo.Proprio per il fatto che Fpwin-pro atribuisce alias a tutte le variabili, compresi gli step, non è in grado di utilizzare il numero di step per il suo azzeramento.L'unica possibilità che si ha con questa versione è quella di cancellare gli step uno per uno.Naturalmente stiamo parlando di progammazione a passi usando le specifiche istruzioni, e non utilizzando dei comuni bit di memoria ®, e quindi per Fpwin-pro utilizzare il linguaggio SFC.Naturalmente Fpwin-pro offre un discreto tool grafico per realizzare le sequenze operative di una macchina, migliorando la comprensione e il debug della macchina stessa.La soluzione che dovresti adottare per risolvere il tuo problema è la seguente.In ognuno degli step verifichi se serve considerare la condizione di emergenza per uscire, e quindi decidi se proseguire o interrompere la sequenza, in questo modo metti molte più transizioni, ma controlli bene il tuo programma.Non è la stessa cosa che facevi con altri plc, ma Fpwin-pro lavora sul simbolico e non sugli indirizzi, quindi ti devi adattare a questo modo di lavorare.CiaoRoberto Link al commento Condividi su altri siti More sharing options...
del_user_56966 Inserita: 18 maggio 2008 Segnala Share Inserita: 18 maggio 2008 il linguaggio SFC.Non uso normalmente questo linguaggio, ma penso che la soluzione sia comunque gestibile,solo che sono quelle classiche cose dove oltre conoscere come lavora l'ambiente ci vuole il programma, un pò di tempo,e fare una serie di prove.... Link al commento Condividi su altri siti More sharing options...
Roberto Gioachin Inserita: 18 maggio 2008 Segnala Share Inserita: 18 maggio 2008 Io uso abitualmente il linguaggio SFC, per chi deve gestire sequenze è un prezioso supporto.Le ho senpre fatte con il linguaggio specifico (SSTP, NSTL, NSTP, CSTP) anche quando l'ambiente di sviluppo lavorava sotto DOS.Ho trovato non particolarmente performante la versione Fpwin-pro rispetto alle eccellenti potenzialità del plc proprio nel linguaggio SFC.Se qualcosa si può contestare ad un software eccellente come Fpwin-pro, è proprio su questo linguaggio, SFC appunto.Di certo altre aziende anche più famose della Panasonic sono messe anche peggio, a volte molto peggio.Posso capire le problematiche di silver, e sono convinto che difficilmente una volta iniziato ad usare questo linguaggio può farne a meno.Credo che la migliore delle soluzioni sia quella di sollecitare la panasonic a modificare il software per migliorare proprio questa parte.CiaoRoberto Link al commento Condividi su altri siti More sharing options...
yupanqui Inserita: 19 maggio 2008 Autore Segnala Share Inserita: 19 maggio 2008 In effetti ho provato ad utilizzare il linguaggio SFC.Ho anche aperto un altro post in questa sezione perche essendo la prima volta che lo uso ho trovato diverse difficoltà.Il mio problema principale è il tempo.In questo momento devo realizzare il programma in fretta e non ho l'opportunità di capire bene certe cose.Quando avrò un po di tempo farò le mie prove e sono sicuro che come dice Roberto Gioachin poi non potro piu fare a meno dell'SFC. Link al commento Condividi su altri siti More sharing options...
del_user_56966 Inserita: 19 maggio 2008 Segnala Share Inserita: 19 maggio 2008 Il mio problema principale è il tempo.Un problema spesso condiviso... 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