Vai al contenuto
PLC Forum


Mi sono perso in un bicchiere di... AND OR


Messaggi consigliati

Inserito:

devo mettere mani ad un software stra-pieno di logiche simili alla seguente:
   
      O     M     54.3
      U(    
      ON    M      4.3
      O     M     55.0
      O     M     71.0
      )     
      O     M      4.0
      O     M      4.1
      U     M     33.2                  
      O     M     43.4
      O(    
      ON    M     90.1
      U     M      4.3
      )     
      O     M     93.2
      O     M     14.6
      U     M     50.0
      O     M     14.6
      U     DB2.DBX  120.2
      O     DB2.DBX   94.2
      U     M      2.0
      =     A     10.0

 

io fatico a capirle, voi come avreste fatto la stessa cosa in modo più leggibile? 

Grazie mille
Grazie


 


Inserita:
59 minuti fa, mariokravma ha scritto:

io fatico a capirle,

 

Prova a farla tradurre in KOP dal PC, se a te è più comprensibile.

Io ho dato una scorsa veloce; quella è solo un'equazioni booleana; forse si può semplificare un po', magari applicando DeMorgan, ma ne vale la pena?

Inserita: (modificato)

già.

Fosse stato scritto in KOP l'avrebbe tradotto in AWL, ma così mancano delle istruzioni "tappo" che servono al traduttore per la conversione.

Niente da fare, se sono paginate di codice c'è da perderci la testa.. d'altronde 30 anni fa era normale scrivere così.

Se poi manca il simbolico..auguroni.

Modificato: da drn5
Marco Fornaciari
Inserita:

In questo caso bisogna padroneggiare alla perfezione l'ordine di lettura ed esecuzione di quella CPU.

Mano ai manuali.

Quindi a mano lo converti in un KOP, poi magari lo riscrivi.

 

40 anni fa era normale scrivere cosi per chi ormai programmava da tempo, e qualla struttura non valeva per tutte le CPU: ogni x istruzioni bisognava appoggiarsi a un bit, magari di sistema.

Il ladder e il KOP (che sono la stessa cosa) sono dei primi anni '80.

Inserita:

Dovrebbe essere così:
image.png.2b8a14908a369ba1c91498663ce5eb27.png

 

2 ore fa, drn5 ha scritto:

d'altronde 30 anni fa era normale scrivere così

Scrivere così era da masochisti anche quarant'anni fa.
È un orrore oggi, e lo era anche negli anni '80.
Io ho fatto larghissimo uso di AWL con gli S7-300/400, ed è un liguaggio che ancora oggi mi piace, perché è essenziale, ma non ho mai scritto segmenti simili.
Quasi sempre scrivevo in AWL anche segmenti che volevo visualizzare in ladder, perché ero più veloce, ma ho sempre rispettato la sintassi per permettere la conversione in ladder.
Per renderlo comprensibile anche in AWL, basterebbe spezzarlo in 3 o 4 parti, ed usare bit di appoggio.
Oggi mi impongo di non usarlo più, anzi, se metto le mani su programmi che ancora hanno parti in AWL, quando posso li riscrivo in testo strutturato.
A chi scrive simili obbrobri in AWL, bisognerebbe togliere la facoltà di utilizzare un computer.

 

Inserita:
55 minuti fa, batta ha scritto:

Scrivere così era da masochisti anche quarant'anni fa.

55 minuti fa, batta ha scritto:

A chi scrive simili obbrobri in AWL, bisognerebbe togliere la facoltà di utilizzare un computer.

Quanta verità in così poche parole

il problema grosso è che recentemente ho dovuto mettere mano a macchine/impianti costruiti 3/4 anni fa e il software è ancora scritto così e se gli parli di strutturato ti ridono in faccia, perchè: "l'AWL è meglio, chi programma in SCL è solo un informatico fighetto", il giorno che mamma siemens deciderà di rimuovere l'AWL dal TIA prevedo grandi disastri nei vari uffici

Inserita:
1 ora fa, batta ha scritto:

così era da masochisti anche quarant'anni fa

Hai ragione, io intendevo che era normale usare AWL anche chilometrici. Non concordo sulla necessità dello scriverli in modo che potessero essere convertibili in KOP.

Ritengo vergognoso l'assenza di un simbolico e ancor di più dei commenti. E qui @mariokravma parlava del 300, non certo di S5 dove scrivere era quasi un farsi del male.

Quando ritocco il codice dei 300 di inizio 2000 uso il KOP e documento per chi ci metterà mano dopo di me.

SCL è ottimo, ma quando è supportato da una buona IDE. Nel 300 era ancora troppo giovane.

Inserita:
10 ore fa, batta ha scritto:

Scrivere così era da masochisti anche quarant'anni fa.

 

10 ore fa, batta ha scritto:

Per renderlo comprensibile anche in AWL, basterebbe spezzarlo in 3 o 4 parti, ed usare bit di appoggio.

 

10 ore fa, batta ha scritto:

A chi scrive simili obbrobri in AWL, bisognerebbe togliere la facoltà di utilizzare un computer.

 

Concordo pienamente con quanto affermato da Batta.

Anch'io quando mi occupavo di PLC scrivevo programmi praticamente solo in AWL o simili di altre marche di PLC. Questo linguaggio e molto efficiente perchè molto vicino all'Hw della macchina, quasi come l'assembler per i micro processori.

Però "est modus in rebus", come affermavano i latini! Non si può buttar giù decine di istruzioni in questo modo. Vorrei vedere che lo ha scritto riprendere il programma dopo qualche anno perchè è richiesta un modifica, anche banale. inoltre quel programma è fine a se stesso, non potrai mai riutilizzarlo.

Inserita:
12 ore fa, batta ha scritto:

Dovrebbe essere così:
image.png.2b8a14908a369ba1c91498663ce5eb27.png

 

Scrivere così era da masochisti anche quarant'anni fa.
È un orrore oggi, e lo era anche negli anni '80.
Io ho fatto larghissimo uso di AWL con gli S7-300/400, ed è un liguaggio che ancora oggi mi piace, perché è essenziale, ma non ho mai scritto segmenti simili.
Quasi sempre scrivevo in AWL anche segmenti che volevo visualizzare in ladder, perché ero più veloce, ma ho sempre rispettato la sintassi per permettere la conversione in ladder.
Per renderlo comprensibile anche in AWL, basterebbe spezzarlo in 3 o 4 parti, ed usare bit di appoggio.
Oggi mi impongo di non usarlo più, anzi, se metto le mani su programmi che ancora hanno parti in AWL, quando posso li riscrivo in testo strutturato.
A chi scrive simili obbrobri in AWL, bisognerebbe togliere la facoltà di utilizzare un computer.

 

Grazie mille, lo rifarei volentieri ma purtroppo devo dedurre il funzionamento della macchina dal software, avevo intuito M2.0 fosse in serie a tutto ma solo perchè è l'emergenza altrimenti non ci sarei mai arrivato.

Inserita:
22 ore fa, drn5 ha scritto:

Non concordo sulla necessità dello scriverli in modo che potessero essere convertibili in KOP.

Su questo mi devo spiegare meglio.
Scrivevo in modo che fossero convertibili in ladder segmenti che potrebbero assomigliare a questo.
Quando c'erano calcoli,salti, ed altro che si prestava ad essere scritto in AWL, scrivevo in AWL e basta, ma erano segmenti con un flusso chiaro e lineare.
Piuttosto che fare parentesi, usavo bit di appoggio, in modo da avere sempre logiche facilmente interpretabili.

 

22 ore fa, drn5 ha scritto:

SCL è ottimo, ma quando è supportato da una buona IDE. Nel 300 era ancora troppo giovane.

Assolutamente d'accordo. Con il "vecchio" Simatic Manager ho usato SCL solo in casi particolari, perché l'editor era pietoso. Oggi, con il TIA, dotato di quello che è il miglior editor di testo strutturato che mi sia mai capitato di usare, scrivo molto volentieri in testo strutturato. Però, ci sono casi dove l'AWL risulterebbe più efficiente. Ma, come detto nel precedente post, mi impongo di non usare più AWL perché, bene o male che sia, è un linguaggio che andrà a morire.

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