Vai al contenuto
PLC Forum


Somachine Con Linguaggio Sfc - Problema Sicurezza


Messaggi consigliati

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


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

elettrificato

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

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

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

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

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

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