STEU Inserita: 1 giugno 2021 Autore Segnala Share Inserita: 1 giugno 2021 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 More sharing options...
batta Inserita: 1 giugno 2021 Segnala Share Inserita: 1 giugno 2021 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 More sharing options...
STEU Inserita: 1 giugno 2021 Autore Segnala Share Inserita: 1 giugno 2021 Si è esattamente la stessa cosa Link al commento Condividi su altri siti More sharing options...
walterword Inserita: 2 giugno 2021 Segnala Share Inserita: 2 giugno 2021 (modificato) 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: 2 giugno 2021 da walterword Link al commento Condividi su altri siti More sharing options...
walterword Inserita: 2 giugno 2021 Segnala Share Inserita: 2 giugno 2021 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 More sharing options...
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora