verbaweb Inserito: 30 settembre 2019 Segnala Share Inserito: 30 settembre 2019 Buongiorno ragazzi, chiedo scusa per la banalità della mia richiesta. Sto traducendo un software da Allenbradley a Siemens. Per me un po complicato in quanto si parla di comunicazione modbus etc etc etc Per la prima volta in vita mia sto usando un FB in quanto la funzione la dovrò richiamare 20 volte. venendo al dunque: come posso utlizzare un fronte di salita dentro un FB? Grazie mille Link al commento Condividi su altri siti More sharing options...
acquaman Inserita: 30 settembre 2019 Segnala Share Inserita: 30 settembre 2019 Come in una FC solo che il bit di appoggio devi usare un bit dichiarato nelle variabili stat della DB di istanza. Link al commento Condividi su altri siti More sharing options...
verbaweb Inserita: 30 settembre 2019 Autore Segnala Share Inserita: 30 settembre 2019 Alberto, ti ringrazio per la risposta. ma davvero è la prima volta che uso FB FC e DB. potresti cortesemente dirmi passo passo come fare? la FB verrà richiamata 20 volte Grazie mille Link al commento Condividi su altri siti More sharing options...
drugo66 Inserita: 30 settembre 2019 Segnala Share Inserita: 30 settembre 2019 Ciao, innanzitutto come scrive Acquaman (tutto ok, Alberto ? Spero di vederti presto ...) crea la variabile in STAT e non in TEMP; le variabili TEMP sono locali, quindi non mantengono il loro valore una volta usciti dal blocco; poi ti crei il tuo fronte con l'istruzione P_TRIG o -(P)- che sia, inserendo la variabile creata in STAT. Devi richiamare il blocco FB 20 volte ? Dovrai creare 20 DB di istanza diversi per ogni volta che richiami il blocco, altrimenti non funziona. Tutto qui. Link al commento Condividi su altri siti More sharing options...
step-80 Inserita: 30 settembre 2019 Segnala Share Inserita: 30 settembre 2019 Cosa ovvia, ma la dico lo stesso.. se il fronte di salita è dello stesso segnale proveniente da esterno, credo convenga rilevare il fronte una sola volta all'esterno dell'FB e poi portarsi dentro solo il bit alto per una scansione..no? Link al commento Condividi su altri siti More sharing options...
TravelMen Inserita: 1 ottobre 2019 Segnala Share Inserita: 1 ottobre 2019 Quote se il fronte di salita è dello stesso segnale proveniente da esterno, credo convenga rilevare il fronte una sola volta all'esterno dell'FB e poi portarsi dentro solo il bit alto per una scansione..no? Io faccio così perchè per me è più leggibile. Saluti Link al commento Condividi su altri siti More sharing options...
pigroplc Inserita: 1 ottobre 2019 Segnala Share Inserita: 1 ottobre 2019 13 ore fa, step-80 scrisse: se il fronte di salita è dello stesso segnale proveniente da esterno, credo convenga rilevare il fronte una sola volta all'esterno dell'FB e poi portarsi dentro solo il bit alto per una scansione..no? nel caso in cui devi modificare la logica e non prendere il fronte di salita ma il fronte di discesa (faccio un esempio) oppure ritardare il segnale lo fai una volta sola nella FB e non 20 volte fuori, senza poi contare la leggibilità già messa in luce da TravelMen. Link al commento Condividi su altri siti More sharing options...
acquaman Inserita: 1 ottobre 2019 Segnala Share Inserita: 1 ottobre 2019 14 ore fa, drugo66 scrisse: tutto ok, Alberto ? Spero di vederti presto Ciao Drugo si, ci vedremo presto. 14 ore fa, step-80 scrisse: se il fronte di salita è dello stesso segnale proveniente da esterno, credo convenga rilevare il fronte una sola volta all'esterno dell'FB Dipende se è un blocco che riutilizzo in futuro preferisco chiudere tutto nel FB per non dovermi ricordare che devo gestire il bit su un fronte, inoltre verbaweb non ha specificato di cosa è il fronte, potrebbe essere di un bit interno es un busy di un FC di comunicazione visto che parla di Modbus. Link al commento Condividi su altri siti More sharing options...
verbaweb Inserita: 1 ottobre 2019 Autore Segnala Share Inserita: 1 ottobre 2019 Buongiorno Ragazzi, il fronte di salita mi serve su un pulsante. Sto avendo grossi problemi a tradurre da AB a TIA. riesco a leggere i dati tranquillamente dal MODBUS ma cavolo, non riesco a scrivere completamente. sto diventando scemo, oltre ad avere il fiato sul collo dalla committente. posso postare il progetto fatto in TIA 15.1? grazie ancora Link al commento Condividi su altri siti More sharing options...
batta Inserita: 1 ottobre 2019 Segnala Share Inserita: 1 ottobre 2019 38 minuti fa, verbaweb scrisse: posso postare il progetto fatto in TIA 15.1? Sì, posta pure. Tornando ai fronti: io faccio largo uso delle FB, così ogni parte di programma ha già in pancia tutte le sue variabili. In ogni FB, nelle STAT, non manca mai un array (solitamente di 16 bool) che generalmente chiamo "xos" (Aux One Shot), e che uso proprio per generare fronti. Se non mi serve (ma accade molto raramente che non si usino fronti), pazienza, ho sprecato 16 bit. Se 16 bit non mi bastano, porto l'array a 32 bit. Riguardo al fatto di genenare i fronti all'interno o all'esterno della funzione, si deve valutare caso per caso. Link al commento Condividi su altri siti More sharing options...
verbaweb Inserita: 1 ottobre 2019 Autore Segnala Share Inserita: 1 ottobre 2019 11 minuti fa, batta scrisse: Sì, posta pure. Tornando ai fronti: io faccio largo uso delle FB, così ogni parte di programma ha già in pancia tutte le sue variabili. In ogni FB, nelle STAT, non manca mai un array (solitamente di 16 bool) che generalmente chiamo "xos" (Aux One Shot), e che uso proprio per generare fronti. Se non mi serve (ma accade molto raramente che non si usino fronti), pazienza, ho sprecato 16 bit. Se 16 bit non mi bastano, porto l'array a 32 bit. Riguardo al fatto di genenare i fronti all'interno o all'esterno della funzione, si deve valutare caso per caso. Grazie Batta Allego il progetto in tia portal e il pdf del software da tradurre. Di leggere leggo... di scrivere.... neance a colpi di tromba come si suol dire dalle mie parti .tiaportaltiaportal Link al commento Condividi su altri siti More sharing options...
step-80 Inserita: 1 ottobre 2019 Segnala Share Inserita: 1 ottobre 2019 Ho aperto il pdf,che dire...senza uno straccio di commento sui segmenti, sugli operandi..è dura. Mettici poi che sei nella sezione Siemens, e che posti un codice Rockwell.. Poi ho aperto anche il progetto Tia. non so se è colpa di qualche mia impostazione, ma io dentro non ci vedo nulla. Non vedo cpu, non vedo blocchi di codice..niente Link al commento Condividi su altri siti More sharing options...
verbaweb Inserita: 1 ottobre 2019 Autore Segnala Share Inserita: 1 ottobre 2019 44 minuti fa, batta scrisse: Sì, posta pure. Tornando ai fronti: io faccio largo uso delle FB, così ogni parte di programma ha già in pancia tutte le sue variabili. In ogni FB, nelle STAT, non manca mai un array (solitamente di 16 bool) che generalmente chiamo "xos" (Aux One Shot), e che uso proprio per generare fronti. Se non mi serve (ma accade molto raramente che non si usino fronti), pazienza, ho sprecato 16 bit. Se 16 bit non mi bastano, porto l'array a 32 bit. Riguardo al fatto di genenare i fronti all'interno o all'esterno della funzione, si deve valutare caso per caso. Grazie Batta Allego il progetto in tia portal e il pdf del software da tradurre. Di leggere leggo... di scrivere.... neance a colpi di tromba come si suol dire dalle mie parti bravo..... quella è la condizione con cui sto lavorando io. unica cosa a mio supporto è l'estrapolazione dei tag i excell che ora allego. Per il tia portal? non saprei io lo apro. Provo a riallegarloEstratto PLCProgramma Tia Grazie ancora Link al commento Condividi su altri siti More sharing options...
verbaweb Inserita: 1 ottobre 2019 Autore Segnala Share Inserita: 1 ottobre 2019 Un piccolo specchietto che mi sono fatto per capire... Grazie ancora Link al commento Condividi su altri siti More sharing options...
batta Inserita: 1 ottobre 2019 Segnala Share Inserita: 1 ottobre 2019 Premetto che non ho analizzato il programma a fondo. Non so se il problema sia questo, ma non vedo, nel ciclo di scrittura, nessun reset della variabile "Process".modbusMaster.req. Nel manuale effettivamente non c'è scritto che la funzione "Modbus_Master" abbia bisogno di un fronte sull'ingresso REQ, ma non sono sicuro che cambiare parametri al volo mantenendo sempre alto REQ non crei problemi. Anche se, almeno sulla lettura, pare che funzioni lo stesso. Nei cicli di lettura, infatti, dopo il "Done", resetti "Process".modbusMaster.req, ma subito dopo la setti di nuovo. In questo modo, "Modbus_Master" non vede mai REQ = FALSE. Di fatto, equivale a mantenere "Process".modbusMaster.req sempre TRUE. Io comunque preferirei, tra una lettura e l'altra, e tra una scrittura e l'altra, avere una scansione con REQ = False. Fare una diagnosi più approfondita offline, e senza conoscere i codici di errore, è impresa piuttosto ardua. Link al commento Condividi su altri siti More sharing options...
verbaweb Inserita: 1 ottobre 2019 Autore Segnala Share Inserita: 1 ottobre 2019 nada. Link al commento Condividi su altri siti More sharing options...
batta Inserita: 1 ottobre 2019 Segnala Share Inserita: 1 ottobre 2019 Mi autocito: Quote Fare una diagnosi più approfondita offline, e senza conoscere i codici di errore, è impresa piuttosto ardua. Mi pareva che la richiesta implicita di postare i codici di errore fosse abbastanza chiara. Scrivere "nada" non ci dà certo elementi in più. Link al commento Condividi su altri siti More sharing options...
verbaweb Inserita: 1 ottobre 2019 Autore Segnala Share Inserita: 1 ottobre 2019 1 ora fa, batta scrisse: Mi autocito: Mi pareva che la richiesta implicita di postare i codici di errore fosse abbastanza chiara. Scrivere "nada" non ci dà certo elementi in più. Scusami Batta ero convinto di averlo scritto, scusa ancora. il bello è che non ricevo nessun codice di errore. Se vado sul db quando lancio il comando di apertura o chiusura viene settato a TRUE. Secondo me l'errore sta nel FB della valvola, avrò sicuramente interpretato male qualche passaggio dell'AB. In azienda sono l'unico che "programma" i PLC non ho nessuno con cui confrontarmi purtroppo. Grazie sempre anticipatamente e scusami ancora. Ciao Link al commento Condividi su altri siti More sharing options...
batta Inserita: 1 ottobre 2019 Segnala Share Inserita: 1 ottobre 2019 48 minuti fa, verbaweb scrisse: Secondo me l'errore sta nel FB della valvola, avrò sicuramente interpretato male qualche passaggio dell'AB. Ma, allora, non sei sicuro che sia la scrittura via Modbus il problema. Se ti dà il Done, e non ti dà codici di errore, significa che i dati vengono scritti. Io ho guardato, piuttosto velocemente, solo la parte che riguarda lettura/scrittura via Modbus. Tra l'altro, perché l'hai fatta nel main? Non è meglio se la fai in un blocco dedicato e, nel main, richiami solo il blocco? Gli altri blocchi li ho solo aperti e subito richiusi perché, come già detto da Step-80, non c'è uno straccio di commento. Non ci sono nemmeno i nomi dei merker. Link al commento Condividi su altri siti More sharing options...
step-80 Inserita: 2 ottobre 2019 Segnala Share Inserita: 2 ottobre 2019 (modificato) Quote Gli altri blocchi li ho solo aperti e subito richiusi perché, come già detto da Step-80, non c'è uno straccio di commento. Non ci sono nemmeno i nomi dei merker. Per la precisazione io mi sono limitato ad aprire solo il file pdf . Da quanto dici però deduco che nemmeno il progetto ha i commenti ed i nomi dei Merker fatta eccezione per quello di lettura/scrittura Modbus. Modificato: 2 ottobre 2019 da step-80 Link al commento Condividi su altri siti More sharing options...
verbaweb Inserita: 2 ottobre 2019 Autore Segnala Share Inserita: 2 ottobre 2019 1 ora fa, step-80 scrisse: Per la precisazione io mi sono limitato ad aprire solo il file pdf . Da quanto dici però deduco che nemmeno il progetto ha i commenti ed i nomi dei Merker fatta eccezione per quello di lettura/scrittura Modbus. Per la parte TIA ho commentato i segmenti. commenti e descrizioni purtroppo nel vecchio software non ce ne sono. unica cosa che sono riuscito un po a fare è buttare giù quel file excell... Link al commento Condividi su altri siti More sharing options...
batta Inserita: 2 ottobre 2019 Segnala Share Inserita: 2 ottobre 2019 A parte che stiamo divagando, dato che la discussione ha per titolo "Fronte di salita dentro un FB" e stiamo parlando di tutt'altra cosa, motivo per il quale ti consiglierei di aprire una nuova discussione a tema, ma non ci aiuti certo a capire quale sia il tuo problema. Sei partito dai fronti, per passare al problema nella scrittura via Modbus. Ma poi pare che non sia la scrittura che non funziona, ma qualcosa dentro al blocco della valvola. Sinceramente, non capisco più niente. O ti spieghi, o non so proprio come aiutarti. 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