Vai al contenuto
PLC Forum


Reset Delle Variabili Assegnate Dal Compilatore [fp Winpro]


Messaggi consigliati

Inserito: (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: da silver

Roberto Gioachin
Inserita:

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.

Ciao

Roberto

Inserita:

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

chiaramente tutte le memorie non ritentive.

c'è una funzione che rersetta tutto?

Roberto Gioachin
Inserita:

Guarda l'istruzione "Copy" dalla libreria Matsushita

Ciao

Roberto

Inserita:

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

Roberto Gioachin
Inserita:

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.

Ciao

Roberto

del_user_56966
Inserita:

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 statiche

senza 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 stessa

indistintamente dal suo indirizzo fisico!

Roberto Gioachin
Inserita:
In ogni caso il compilatore le utilizza in maniera diretta tramite l'alias assegnato quindi se azzeri questo ottieni direttamente il reset della stessa

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

Ciao

Roberto

del_user_56966
Inserita: (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... :blink:

Modificato: da alen
Inserita:

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.

Roberto Gioachin
Inserita:

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.

Ciao

Roberto

del_user_56966
Inserita:
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....

Roberto Gioachin
Inserita:

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.

Ciao

Roberto

Inserita:

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.

del_user_56966
Inserita:
Il mio problema principale è il tempo.

Un problema spesso condiviso... ;)

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