Vai al contenuto

luigi69

Ancora sui bit per gestione allarmi S7-1200 verso pannello TIa

Recommended Posts

luigi69

Buona serata

 

oggi , Domenica..avete riposato ?  Messa ?   Aperitivo al bar ?  vassoio di paste dai parenti ? struscio sotto i portici a vedere le vetrine ?  da domani si torna a correre di nuovo..o magari qualcuno di voi era reperibile oggi e ha corso anche oggi.....

Io faccio una domanda, sicuramente gia affrontata ,ma forse perchè sono particolarmente stanco , non riesco a risolvere....

Ho letto le discussioni in merito , credo le piu importanti sull'argomento  quelle di suppaman87 del 4 ottobre 2017 , e di drugo del 4 marzo 2015

 

Allora....S71200 con TIA V15 che si "parla" con un pannello , un 400, ma anche un altro basic sarebbe la stessa cosa .

 

Nel pannello scrivo alcune segnalazioni nella categoria "segnalazioni a bit" : non voglio funzioni tipo riconoscimento e trigger, ma semplicemente sae alzo un bit sul PLC voglio vedere la mia segnalazione...se alzo piu bit..vedro tante segnalazioni quante ne tiene a seconda della grandezza del carattere la finestra sul pannello .

Le associo ad alcune word , e quindi se progetto una word , avro la possibilità di gestire 16 segnalazioni , se ne progetto 2 , 32

Mi confondo sempre , complici i ricordi del pro tool e del win cc , e non mi ricordo mai se la prima segnalazione corrisponde al primo bit oppure se  viceversa capovolgendo la parola : ma in questo mi viene in aiuto il fatto che sul pannello associo quella segnalazione ad un determinato bit , che posso decidere io  ( non sono vincolato allo 0 , ma la segnalazione 3 potri associarla al bit 10 , ecc.. )

 

in macchine od impianti molto semplici , ne ho davvero poche  ( in questo caso 15 ) , trovo e trovavo molto senplice associarle al bit

 

lato plc , creo un blocco dati che mi contenga tot word quante sono le mie segnalazioni ( a gruppi di 16 )

nelle proprietà tolgo la spunta sull'ottimizazione del blocco

 

e allora, dopo la messa della domenica , l'aperitivo con il mio amico prugna , le paste con i parenti..... perchè lato PLC all'uscita di un set reset non riesco a mettere una bobina che ha il nome del singolo bit ?

 

ovvero , se ad esempio ho creato il DB50 , con 2 word , avro i primi 16 bit che saranno DB50.DBX0.0.......0.1.....0.2.....

questo succedeva con il buon 300

 

ho letto come ho scritto sopra le discussioni che ho trovato piu adeguate , ma anche togliendo la spunta su blocco ottimizzato , mi da "rosso" se scrivo il singolo bit....

 

Cortesemente mi suggerite ?  la prossima domenica pago io l'aperitivo

 

 

Condividi questa discussione


Link discussione
Condividi su altri siti
luigi69

image.thumb.png.7a437576afa86a8e30a99f97fe09238f.png

 

image.thumb.png.5f6a8a18a3179472c306a97812d404c5.png

 

image.thumb.png.a02e4cb69d8b2f20b9224f8c67510658.png

image.thumb.png.4eaa881a19103ea66aeb0c078cda2a2d.png

 

In questa ultima immagine ho provato dalla disperazione a scrivere las bobina come word , ma in realtà non funziona neanche con il bito , ovvero dbx e non dbw

Condividi questa discussione


Link discussione
Condividi su altri siti
dcsautomazione

Ciao Luigi fai un po' di confusione, farei semplicemente così :

Assegna I testi di segnalazione associa la gestione delle segnalazioni a una DB esempio:

Db1. Dbw0

Capirài da solo cosa accade quale bit viene associato al primo testo basta provare e soprattutto ragionare non serve darti la soluzione prova ad arrivare a risolvere da solo ti servirà tantissimo. 

Prova a gestire così DB1. DBX1. 0  e poi prova con DB1. DBX0. 0 ecc vedrai che capirà cosa accade. 

Buon lavoro. 

Condividi questa discussione


Link discussione
Condividi su altri siti
luigi69

Ciao dcs , grazie

Ma io sto provando a ragionare . . E come vedi dalle foto . . Io ci sto provando anche a farle le cose ( e prima del trauma con il tia , ci riuscivo benissimo , dal vecchio s5 al caro step7)

Il mio problema è la sintassi del comando , che ho cercato nell . ma nonostante le prove . . Per adesso non ci arrivo . . 


Messaggio editato da luigi69

Condividi questa discussione


Link discussione
Condividi su altri siti
Simone.Salarsi

ciao Luigi, se ho ben intesto quello che ti serve credo che tu debba usare lo "Slice Access" offerto dal TIA

 

https://support.industry.siemens.com/cs/document/57374718/how-in-step-7-(tia-portal)-do-you-access-the-unstructured-data-types-bit-by-bit-byte-by-byte-or-word-by-word-and-symbolically-?dti=0&lc=en-WW

 

una cosa del genere

 

image.png.3f54e7c850387507c69f662311a851e2.png

 

 

Condividi questa discussione


Link discussione
Condividi su altri siti
Cesare Nicola

Io faccio così. Ho una DB con un array di 160 bit, da 1 a 160, che chiamo "Allarme". DB_allarmi.Allarme[1] sarà il bit che per il PLC visualizza l'allarme 1, DB_allarmi.Allarme[2] visualizza l'allarme 2 e via di seguito. 160 bit sono dieci word (questa DB deve essere NON ottimizzata). Predispongo poi nella stessa DB altre dieci word, stavolta in in formato WORD, che sono quelle che utilizzerò nell'HMI per associarle alle segnalazioni. Eseguo alla fine dell'FC o FB degli allarmi lo SWAP delle word che contengono gli array e trasferisco il risultato nelle word che utilizzerà l'HMI. Il risultato è che il bit 1 (Allarme[1]) nel PLC corrisponderà al primo bit della prima word di allarme. Cioè, le istruzioni SWAP mi sollevano dal fare ragionamenti contorti e inversi su quale bit alza quale allarme. Fatto una volta poi lo riutilizzi: sto copiando e incollando gli stessi FC, DB e tabelle di variabili HMI da anni.
PS: Per me il trauma è quando mi capita, purtroppo spesso, di dover utilizzare Simatic Manager: mi sembra di tornare al medioevo. Attendo con fiducia che Siemens lo faccia sparire del tutto. 🙂

 

Allarmi.png


Messaggio editato da Cesare Nicola

Condividi questa discussione


Link discussione
Condividi su altri siti
acquaman

Mi sembrano tutte delle complicazioni, mi creo una Db con un array di BIT degli alarmi non ottimizzata, sul pannello mi creo un array di word con accesso assoluto e non simbolico dove inserisco l'indirizzo delle mie word, con quel'array mi creo la mia lista di segnalazioni.

 

Semplice come si faceva con il vecchio Simatic Manager senza nessun trauma e senza complicarsi la vita per voler a tutti i costi.

Condividi questa discussione


Link discussione
Condividi su altri siti
Cesare Nicola
5 minuti fa, acquaman scrisse:

Mi sembrano tutte delle complicazioni, mi creo una Db con un array di BIT degli alarmi non ottimizzata, sul pannello mi creo un array di word con accesso assoluto e non simbolico dove inserisco l'indirizzo delle mie word, con quel'array mi creo la mia lista di segnalazioni.

 

Semplice come si faceva con il vecchio Simatic Manager senza nessun trauma e senza complicarsi la vita per voler a tutti i costi.

Così facendo non hai però i byte swappati tra PLC ed HMI? E' questo che io cerco di evitare, mi da' fastidio.

Condividi questa discussione


Link discussione
Condividi su altri siti
acquaman

Swappo i byte quando inserisco gli allarmi, cosi ho la corrispondenza n dell'alarme numeo bit, ed è semplice trovare l'allarme nel programma.

Allarmi.thumb.PNG.005ac5aea3847ff0c01bd90dc2a23486.PNG

 

Mi sono fatto una tabella in excel con l'elenco dei bit swappati quando ho finito di inserire i testi copia la colonna da excel la incollo nella tabella dei bit ed ho swappato tutto.

Condividi questa discussione


Link discussione
Condividi su altri siti
batta
Quote

PS: Per me il trauma è quando mi capita, purtroppo spesso, di dover utilizzare Simatic Manager: mi sembra di tornare al medioevo. Attendo con fiducia che Siemens lo faccia sparire del tutto.

Ricordo quando tutti, io compreso, riversavamo sul TIA valanghe di insulti. Sembrava non ci fosse nulla di buono. Ora, anch'io, quando mi trovo a lavorare con il Simatic Manager, vado in crisi profonda.

 

Per gli allarmi anch'io mi comporto come Acquaman, ma ho usato anche il sistema di Cesare, proprio per non dover riordinare gli allarmi nel HMI. Alla fine, non c'è molta differenza: ci vuole poco a sistemare i byte nel HMI, così come ci vuole poco per swappare i byte nel PLC. L'unica cosa che mi fa un po' storcere il naso nel caso dello swap, è che si deve ricorrere ad un indirizzamento assoluto che, se era normale nel Simatic Manager, con il TIA cerco sempre di evitarlo.

Condividi questa discussione


Link discussione
Condividi su altri siti
Cesare Nicola
13 ore fa, batta scrisse:

L'unica cosa che mi fa un po' storcere il naso nel caso dello swap, è che si deve ricorrere ad un indirizzamento assoluto che, se era normale nel Simatic Manager, con il TIA cerco sempre di evitarlo.

E' vero. Infatti quella che ho citato è una delle poche eccezioni che mi concedo.

Condividi questa discussione


Link discussione
Condividi su altri siti
luigi69

Grazie a tutti per la partecipazione al post , segno che questo argomento , nonostante le discussioni che avevo citato all'ìinizio , è molto "caldo"

 

ho adottato la soluzione di Simone , in quanto è quella con cui avevo iniziato , ma porca miseria...la sintassi...mi sono incartato nella sintassi del singolo bit... non scrivevo la X  ma...

 

Cesare   ok DB con array, gli "butti" dentro a caso..dipende solo dalla lunghezza dell'array...

 

Grazie Acquaman , ho capito il significato , ok

 

batta , avremo piu o meno la stessa età , anzi no...ho visto adesso il tuo profilo....io qualche anno in meno , ma sono passato dal S5 ( grazie Ivan , il mio "papà" informatico ) , al 300 con step , 200 controvoglia con il microwin e adesso tia 1200 ( passando molto velocemente dai telemecanique , al Moog , e fermandomi volentieri al VIPA )

Non ho piu vent'anni......ogni volta che cambiano le cose io rimango "traumatizzato" dal fatto che il significato delle cose che si fanno è quello....ma la sintassi cambia....(e non parliamo delle interfacce grafiche e "dove" andare a cercare le cose  )  e li vado in crisi .

25 anni fa usavo i pannelli della Lauer , e comunque gli allarmi erano sempre cosi, depositati in un blocco di  array, e alzavi i singoli bit....

 

Non mi dilungo , perchè il "mi piace o no" delle soluzioni , aimeà..sono vincolate da mamma Siemens

 

Grazie ancora e buon proseguimento

Condividi questa discussione


Link discussione
Condividi su altri siti
Cesare Nicola
2 minuti fa, luigi69 scrisse:

Cesare   ok DB con array, gli "butti" dentro a caso..dipende solo dalla lunghezza dell'array...

Non ho capito cosa intendi con "a caso".

Condividi questa discussione


Link discussione
Condividi su altri siti
luigi69

Io in questo caso io ho fatto una piccola applicazione , ho previsto due word , e fino a ieri utilizzavo solo 15 bit , per cui avevo 1 + 16 riserve

oggi ho usato il famoso bit di riserva , per cui me ne rimangono 16 della seconda word

 

Se uno facesse un impianto dove alla prima messa in funzione ti chiedono mille varianti , altro che due....creri un array a "caso" con piu word

 

O magari "standardizzi" il tuo modo di lavorare e per qualsiasi applicazione usi un blocco dove avevi gia creato una quantità  array " a caso"


Messaggio editato da luigi69

Condividi questa discussione


Link discussione
Condividi su altri siti
Cesare Nicola
5 minuti fa, luigi69 scrisse:

O magari "standardizzi" il tuo modo di lavorare e per qualsiasi applicazione usi un blocco dove avevi gia creato una quantità  array " a caso

Esatto, è proprio quello che ho fatto: ho previsto 160 allarmi qualche anno fa e finora sono sempre bastati. E' capitato di usarne anche solo una decina, pazienza, sono gratis e non si sono mai lamentati di stare lì a far niente. 🙂 Da un po' ho anche suddiviso i 160 allarmi in tre sezioni, in base al numero: allarmi che fermano il ciclo immediatamente, allarmi che  prenotano un fine ciclo "soft" e allarmi che sono solo visualizzati su HMI e non arrestano il ciclo. A seconda del numero, alzo un bit cumulativo che ferma il ciclo o prenota.

Condividi questa discussione


Link discussione
Condividi su altri siti

Registrati o accedi per inserire messaggi

Devi essere un utente registrato per lasciare un messaggio. La registrazione è GRATUITA.

Crea un account

Iscriviti alla nostra comunità. È facile!

Registra un nuovo account

Connettiti

Hai già un account? Connettiti qui

Connettiti adesso

×