Danix74 Posted November 9 Report Share Posted November 9 Buongiorno a tutti, sicuramente a tutti voi è capitato di dover gestire degli allarmi in un sistema con un Plc Siemens S71500 e un HMI. Per quanto riguarda il ripristino degli allarmi ci sono diverse modalità per gestirlo, a seconda delle richieste dei clienti e dalle norme diverse per settore: 1. L'allarme si resetta quando si preme il pulsante di reset allarmi + la condizione che ha generato l'allarme è scomparsa. 2. L'allarme si resetta quando si preme il pulsante di reset allarmi + la condizione che ha generato l'allarme è scomparsa + l'operatore ha già riconosciuto l'allarme da HMI (con tacitazione sirena). 3. L'allarme si resetta quando la condizione che ha generato l'allarme è scomparsa + l'operatore ha già riconosciuto l'allarme da HMI ( con tacitazione sirena). Vorrei creare una gestione degli allarmi in cui si possa selezionare la modalità, ma non so se è più conveniente creare un blocco PLC oppure lasciare la gestione all' HMI. Qualcuno ha qualche suggerimento? Link to comment Share on other sites More sharing options...
drn5 Posted November 9 Report Share Posted November 9 Quello che mi sono fatto io per casi in cui si vogliano differenziare nella stessa macchina comportamenti diversi di reset/tacitazione/riconoscimento è tutto dentro il plc. Nel pannello definisco sempre e comunque tutti gli allarmi allo stesso modo con il loro bit di trigger/acknowledge. Sarà poi il plc che con un DB allarmi strutturato gestirà i comportamenti diversi allarme per allarme... almeno io faccio così.. Link to comment Share on other sites More sharing options...
acquaman Posted November 9 Report Share Posted November 9 Io sono passato all'uso del prodiag, molto comodo e si risparmia molto tempo nel programmare tutta la gestione degli allarmi. Link to comment Share on other sites More sharing options...
batta Posted November 9 Report Share Posted November 9 6 ore fa, Danix74 ha scritto: L'allarme si resetta... Ma per rest dell'allarme, intendi nel PLC o la visualizzazione su HMI? Personalmente non ho mai gestito reset allarmi (nel PLC) solo se era stata fatta l'accettazione. L'accettazione l'ho sempre gestita solo a livello HMI. 2 ore fa, acquaman ha scritto: Io sono passato all'uso del prodiag... Sì, peccato solo che richieda più risorse di tutto il resto del programma. Io utilizzo ancora il metodo classico: un bit = un allarme, con la copia dei testi degli allarmi presa direttamente dai commenti degli allarmi stessi nel PLC. Link to comment Share on other sites More sharing options...
drn5 Posted November 9 Report Share Posted November 9 28 minuti fa, batta ha scritto: con la copia dei testi degli allarmi presa direttamente dai commenti degli allarmi stessi nel PLC. Cioè stai dicendo che il testo dell'allarme visualizzato dal pannello viene "preso" in "automatico" dal commento che hai scritto nella riga del bit di allarme dentro al DB degli allarmi ? Link to comment Share on other sites More sharing options...
batta Posted November 9 Report Share Posted November 9 1 ora fa, drn5 ha scritto: Cioè stai dicendo che il testo dell'allarme visualizzato dal pannello viene "preso" in "automatico" dal commento che hai scritto nella riga del bit di allarme dentro al DB degli allarmi ? No, sarebbe troppo bello. Però basta un copia/incolla di tutto il gruppo di allarmi., senza dover gestire quel fastidioso swap dei byte. Gli allarmi li gestisco come segue: - Struttura di bit, dove ogni bit ha un simbolico con un senso, e il relativo commento (struttura derivata da "Tipo di Dati" così, se faccio modifiche, le faccio in un unico posto) - Una struttura identica con tutti i bit sepre FALSE che uso per un eventuale reset globale degli allarmi con una banale assegnazione tipo: actAlm := rstAlm - Copia della struttura di bit in un array di word con la funzione GATHER_BLK - L'array di word viene dato in pasto al HMI così com'è, senza dover swappare nulla - Nel HMI faccio la copia di tutti i commenti degli allarmi in un solo colpo - Lo stesso array di word viene passato ad una funzione (nel PLC) che rileva entrata nuovo allarme e presenza allarme e che sfrutta le istruzioni "lower_bound" e "upper_bound" per rilevare le dimensioni dell'array e che, quindi, si adatta in automatico a qualsiasi dimensione dell'array. - Il tutto funziona con blocchi "ottimizzati" (se HMI è Siemens), senza dover gestire indirizzi. Unica complicazione quando gli allarmi sono suddivisi in più strutture, e le operazioni GATHER_BLK e la copia dei testi di allarme vanno ripetute per ogni struttura. Link to comment Share on other sites More sharing options...
acquaman Posted November 11 Report Share Posted November 11 Il 09/11/2024 alle 17:06 , batta ha scritto: Sì, peccato solo che richieda più risorse di tutto il resto del programma. Assolutamente si, ma i nostri software si basano la maggior parte di blocchi standard, impostando gli allarmi all'interno di questi blocchi riusciamo a gestire centinaia di allarmi in tempo zero. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now