Water Inserito: 19 giugno 2012 Segnala Share Inserito: 19 giugno 2012 ciao a tutti, questo linguaggio è stupendo e articolato ... infatti mi sfugge qualcosa e anche di più! sto realizzando una sequenza che servirà ad azionare una serie di uscite ecc. il tutto deve funzionare se la "catena" è ok (True) in tutti i suoi passi il linguaggio SFC esegue passo passo il programma e non si preoccupa, ovviamente, dei passi precedenti, perfetto!! ... ma se uno dei passi precedenti è legato ad una sicurezza e questa interviene, come faccio a resettare la sequenza e ripartire da capo? (solitamente uso il linguaggio CFC) ho notato che se interviene una sicurezza, anche resettando il passo, il programma non "riparte", per sicurezza intendo comunque tutto ciò che non implica salute e rischio agli operatori Giuseppe Link al commento Condividi su altri siti More sharing options...
fedeg81 Inserita: 20 giugno 2012 Segnala Share Inserita: 20 giugno 2012 Ciao, da quello che so, l'sfc non ti consente di avere due transizioni sotto lo stesso blocco, quindi, aggiungi un ramo parallelo con un blocco che valuti la sicurezza che ritieni necessarie e successivo jump a inizio programma (ma è veramente "sgrammaticata" come soluzione.....). Per eccitare uscite (o variabli) a seguito di condizioni, io userei una macchina a stati con un controllo degli allarmi che ripristini la condizione di partenza e azzeri la macchina a stati. Oppure la gestione degli "exceptions" di Somachine con l'error handler...e una macchina principale in sfc che gestisca le eccezioni...io uso questa... (non nomino la logica il ladder perchè non la utilizzo...non mi piace..) Spero di esserti stato utile... Ciao Fede Link al commento Condividi su altri siti More sharing options...
elettrificato Inserita: 20 giugno 2012 Segnala Share Inserita: 20 giugno 2012 prova a cercare nella guida in linea reset SFC, dovrebbe esserci una funzione che permette di resettare un diagramma SFC e riportarlo nella fase impostata come iniziale nel caso si attivi una condizione nel tuo caso l'emergenza, con gli altri ambienti di sviluppo Schneider (p.e. Unity) esiste. ciao Link al commento Condividi su altri siti More sharing options...
Water Inserita: 20 giugno 2012 Autore Segnala Share Inserita: 20 giugno 2012 grazie per le risposte, come dicevo il linguaggio SFC è stupendo ma poco documentato anche sulla guida in linea, il problema mio è di "sintassi" cioè cosa scrivere all'interno del codice che sia CFC ST SFC non ha importanza ci sono alcuni aspetti non documentati ma importanti, per esempio ogni programma SFC ha delle proprietà che lo differenziano di molto, in pratica ho scoperto che bisogna flaggare e dichiarare queste impostazioni per poi usarle all'interno del programma, quindi riuscire a resettare il programma e farlo ripartire se interviene una sicurezza, attualmente per resettare prima dichiaro e poi uso questo: "SFCTip" ma non so se è la strada giusta buona l'idea di gestire gli errori separatamente con un programma dedicato se trovo una soluzione interessante la posto grazie ancora Giuseppe Link al commento Condividi su altri siti More sharing options...
biros66 Inserita: 20 giugno 2012 Segnala Share Inserita: 20 giugno 2012 PROGRAM a_Cesoia VAR_INPUT // Azzeramento SFC SFCInit : BOOL; END_VAR VAR END_VAR poi richiami il bit di azzeramento task SFC quando ti occorre, ad esempio: a_Cesoia.SFCInit := Manuale; ciao Link al commento Condividi su altri siti More sharing options...
Water Inserita: 21 giugno 2012 Autore Segnala Share Inserita: 21 giugno 2012 grazie per la dritta biros696!! non so perchè ma mi ostinavo ad impostare a true la variabile con il risultato che si bloccava su quel passo, comunque ero riuscito a farlo comunque "girare" settando la variabile SFCTip ...mah .. purtroppo l'. in linea non affronta questi argomenti e risulta difficile se non hai mai utilizzato questo linguaggio ciao e rigrazie Giuseppe Link al commento Condividi su altri siti More sharing options...
biros66 Inserita: 22 giugno 2012 Segnala Share Inserita: 22 giugno 2012 Link al commento Condividi su altri siti More sharing options...
Water Inserita: 22 giugno 2012 Autore Segnala Share Inserita: 22 giugno 2012 per chi fosse interessato, ho inserito nella sezione download ed in questa categoria, un manuale Codesys tradotto in italiano, considerando la scarna guida riguardo questo linguaggio rappresenta un valido aiuto un grazie a Matteo Sartini (unibo) che la resa disponibile in rete 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