mazzinga Inserito: 9 febbraio 2008 Segnala Share Inserito: 9 febbraio 2008 Buongiorno.Volevo sapere se in FPWinPro esiste un istruzione dove al suo interno richiamo un POU e metto a zero tutti i Byte alti (che si trovano a 1).Questo perchè,in alcune condizioni devo portare a zero tutti i Byte presenti a 1 in alcuni diversi POU,ho dato uno sguardo al manule ma non ho trovato nulla.Grazie mille anticipatamente Link al commento Condividi su altri siti More sharing options...
Roberto Gioachin Inserita: 9 febbraio 2008 Segnala Share Inserita: 9 febbraio 2008 La domanda che fai non è molto chiara, o meglio può essere chiara per tè che sai come sei abbituato a programmare, ma non per chi programma in modo diverso dal tuo.Una prima cosa per esempio riguarda Byte che dici sono a 1. non è che ti sbagli con "Bit".Altra cosa, se i bit sono disposti in modo consecutivo, hai sicuramente la possibiltà di portarli a zero, ma.....FPWin-pro utilizza tutte le istrizioni IEC1131 più le istruzioni proprietarie, ne ha talmente tante che c'è l'imbarazzo della scelta.Forse il problema stà nel trovare una soluzione, non un'istruzione.CiaoRoberto Link al commento Condividi su altri siti More sharing options...
mazzinga Inserita: 9 febbraio 2008 Autore Segnala Share Inserita: 9 febbraio 2008 Roberto ai perfettamente ragione,ti ringrazio che mi hai fatto notare l'errore,comunque volevo dire BitFPWin-pro utilizza tutte le istrizioni IEC1131 più le istruzioni proprietarie, ne ha talmente tante che c'è l'imbarazzo della scelta.Sapresti indicarmi quale istruzione potrei utilizzare,o se esiste un'altro modo per mettre a zero i Bit nei POU da me voluti senza richiamare ogni singolo Bit settato a 1Forse il problema stà nel trovare una soluzione, non un'istruzione Scusami,se è presente un istruzione che faccia questo il problema non è risoltoSpero di essere stato chiaroGrazie mille Link al commento Condividi su altri siti More sharing options...
mazzinga Inserita: 13 febbraio 2008 Autore Segnala Share Inserita: 13 febbraio 2008 Purtroppo sono diversi giorni che sto girando attorno al problema,senza avere risultati positivi.Qualcuno saprebbe indicarmi come se effettivamente esiste un istruzione o un modo per mettere a zero dei Bit "parliamo naturalmente di variabili Booleane e se e posiibile di variabili Intere" in un intero tasck richiamabile da programma.In pratica dovrei rimettere a zero le variabili booleano in interi tasck dafiniti in fase di programazione a secondo di determinate condizioni,quello che vorrei evitare e di prendere una per una e riportarla a zero.sono piu di 150 Variabili Grazie Link al commento Condividi su altri siti More sharing options...
Roberto Gioachin Inserita: 14 febbraio 2008 Segnala Share Inserita: 14 febbraio 2008 Per mettere a zero una serie di bit, questi devono essere consecutivi, vale a dire che questi devono fare parte tutti di una word o di una serie consecutive di word.Se non utilizzi l'indirizzamento diretto, devi definire una stringa (array), in modo che il compilatore li possa indirizzare in una serie consecutiva di bit.A questo punto puoi impostare a zero tutta la tua stringa con una istruzione "Copy".Se non fai in questo modo, ho paura che ti tocca per forza resettare un bit per volta.Una domanda, anche se i singoli bit da resettare fossero 150, perchè resettarli singolarmente ti crea problemi?Non pensare di buttare proprio tanta memoria per fare questo!Un suggerimento: Io ti consiglio di provare a pensare se sia possibile far funzionare il tuo programma, senza utilizzare o ridurre al minimo le istruzioni di set e reset.Oltre a non avere il problema che ora ti assilla, ottieni il vantaggio di poter controllare meglio il programma o le sequenze o quello che stai facendo.Naturalmente capisco che questo dipende dal modo e dall'abitudine che si ha nel realizzare programmi, ma non ci si deve mai dimenticare di semplificare.Un buon programma deve essere anche facile da capire.CiaoRoberto 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