Vai al contenuto
PLC Forum


Come fare senza AWL?


STEU

Messaggi consigliati

Più ostico forse è esagerato , però in AWL per ogni uscita ho un bit ed un indice, In Scl devo avere un array con indice e di quell'array la maggiorparte dei bit non sono utilizzati, per chi ha fatto il programma sicuramente non c'è problema ,per una persona che lo deve leggere e capire probailmente ci mette un po' di tempo a capire la tecnica. in AWL

basta scrivere

 

U DB"OUT".salitaManipolatore

= A[MW0]  

Obiettivamente in AWL è molto semplice ed intuibile in questo caso

Capisco che l'utilizzo del merker è un po fastidioso pero' si puo sostituire con delle variabili locali ed a inizio FC assegnarle il valore iniziale.

 

Link al commento
Condividi su altri siti


Ma una volta che tu hai dichiarato il tuo array di I/O, resta praticamente uguale. La scittura di una uscita diventa:
MyOutArray[id] := "DB_OUT".salitaManipolatore;

 

Link al commento
Condividi su altri siti

Ifach lo conosco personalmente da  20 anni ....quello che ti ha scritto è un modo alternativo di gestire certe cose in un certo modo ,magari non di risolvere il tuo specifico problema.

Incomincia a capire che ormai chi programma solo ed esclusivamente in AWL è fuori dal tempo.

Se hai delle manutenzioni da fare su programmi marci e vecchi è un conto,se invece ne devi creare di nuovi allora inizia con uno spirito diverso e dimenticati del passato...prima si faceva oppure abbiamo sempre fatto cosi....ora invece si fa cosa'.

Uso SCL dal 2001 e non lo uso in tutto o per tutto. Il programmatore non deve mai esprimere pareri di compiacimento per un linguaggio o un altro , ,ma deve ragionare su come risolvere il problema che a quanto pare non hai ancora risolto in quanto ti ostini a voler trovare la soluzione con la stessa architettura.

Cambia qualcosa , ti avevo già scritto di usare array di appoggio, cambia modalità , i manutentori saranno contenti , per loro è importante eseguire certe cose non sapere come sono fatte.

Inventa un nuovo sistema , ricrea le aree dati ed usa solo SCL per cose di questo tipo. Crea un file di excel dove per ogni motore o valvola dai un valore 0 -1 per ogni passo o per ogni comando. Con due righe di codice scl puoi creare un programmatore a tamburo o un indicizzatore , in pochi minuti . Facevo già 20 anni cicli automatici dove l'utente finale giocava a mettere 0 -1 sul file d excel , compilavo in un db a spolpavo il tutto con due righe di programma. Impianti che vanno ancora oggi e non hanno mai avuto problemi.

Non ostinarti a voler far funzionare le cose come sono adesso con alternative che non possono collidere perche c'e' awl o scl.

Prendi dei fogli di carta, pasticcia sopra quale è il problema e quale è il target da raggiungere. Modifica o rifai le aree dati legate al awl e pensa la cosa in maniera fresca e dinamica. Butta nel cesso tutte ste porcherie, sono settimane che siamo fossilizzati per questo problema e questo ha già un costo non irrisorio per lo sviluppo senza considerare la manutenzione o le modifiche future.

Pensa positivo butta tutto nel cesso ed implementa qualcosa di nuovo e flessibile.  

 

Modificato: da walterword
Link al commento
Condividi su altri siti

Perche è evidente e noto, che se cambio linguaggio con relativi strumenti , limiti e potenzialità , devo anche cambiare le aree dati , la loro dichiarazione e la loro struttura.

 

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