ICL51 Rel.4.1
Software di programmazione

Per lo sviluppo dei programmi d'automazione o di supervisione, operanti su logica MASTER Detail, è stato appositamente creato il pacchetto software ICL51 per Personal Computer con sistema operativo MS-DOS che puo' girare anche su Windows98 come applicazione DOS.
La flessibilità hardware di tale sistema modulare ha richiesto la presenza di un software di sviluppo altrettanto potente e flessibile: il linguaggio di programmazione ICL51 è nato nella stessa ottica di modularità del sistema hardware.
L'idea che ha permesso al software di seguire automaticamente lo sviluppo continuo di moduli di espansione, sempre nuovi e diversi, è stata quella di suddividere una parte della RAM dati di lavoro in 32 distinte aree di uguale dimensione. Ciascuna di queste aree viene automaticamente associata dal sistema ad ogni modulo di espansione trovato sulla linea RS485, a seconda del suo indirizzo prescelto; l'associazione avviene in modo trasparente per il programmatore, il quale non deve far altro che gestire i bits e le variabili a 8, 16, 32 bits delle espansioni, così come fossero delle memorie interne alla CPU.
La presenza delle aree RAM (simili a degli SLOTs di ampliamento) permette di sviluppare continuamente dei nuovi moduli di espansione, senza preoccuparsi mai di cambiare i metodi della programmazione: le istruzioni per gestire le nuove periferiche saranno sempre le stesse. Sarà possibile far crescere in modo graduale il proprio sistema senza perdere nulla di ciò che è già stato fatto e messo a punto: ciò si traduce in una grande semplicità dell'apprendimento del linguaggio, tra l'altro studiato appositamente per far sembrare tutto estremamente logico e semplice.
Le istruzioni presenti nel linguaggio ICL51 comprendono un vasto set di istruzioni booleane per realizzare le classiche reti elettromeccaniche, con l'ausilio di temporizzatori/contatori ed una quantità incredibile di relè interni.
Istruzioni di salto a label, subroutine nidificate fino a 16 livelli, inclusione di parti di programma, possibilità di utilizzare operandi indiretti per le istruzioni su variabili, sono solo alcune delle possibilità offerte dal linguaggio.
Potentissime istruzioni matematiche permettono di eseguire calcoli complessi, con semplicità paragonabile a quella dei linguaggi ad alto livello: per esempio con una sola istruzione è possibile prelevare due variabili qualsiasi a 32 bits, moltiplicarle ed il risultato posizionarlo in una terza variabile qualunque. Se poi si pensa che ogni indirizzo può essere associato ad una stringa descrittiva (fino 32 caratteri), la similitudine con i linguaggi ad alto livello è ancora più evidente.
Le istruzioni di Calcolatrice di bordo permettono, con una semplicità unica nel suo genere, di valutare espressioni matematiche tra le variabili del programma; il calcolo a 32 bits con segno permette di mantenere un'elevata precisione dei risultati, mentre la tecnica della Notazione Polacca Inversa permette di introdurre espressioni estremamente complesse senza l'utilizzo di parentesi.
Particolare attenzione è stata rivolta alla possibilità di svilupparsi in assembler delle istruzioni personalizzate ed estremamente potenti da aggiungere alla libreria di quelle di base.
La programmazione avviene mediante la scrittura della lista istruzioni in un file di testo utilizzando un comune editor (richiamabile dall'interno dell'ambiente di sviluppo); in questo modo è possibile creare in poco tempo il proprio programma avvalendosi di tutte le funzionalità di un editor di testi, come la possibilità di copiare parti di programma già sviluppate in precedenza in altre applicazioni, di sostituire alcune stringhe con altre, ecc.
Il software ICL51 comprende ovviamente tutti quegli strumenti di debug del programma, come la possibilità di visualizzare in tempo reale qualsiasi variabile della memoria dati o di forzarne il valore. E' possibile visualizzare contemporaneamente fino ad 8 variabili a 32 bits,
sia in decimale (con e senza segno) che in binario; una gestione a 512 righe permette di richiamare il monitoring di diverse variabili.
Le operazioni di set/reset dei singoli bits sono possibili con la sola pressione di un tasto.
Operazioni di trasferimento, da e verso la logica, del programma sviluppato avvengono con estrema semplicità; non mancano le operazioni di carico e scarico dei dati nella memoria RAM di lavoro e la preselezione automatica dell'orologio (opzionale) della logica MASTER.
L'ambiente del software ICL51 è interamente realizzato mediante Menu e finestre di colloquio; le operazioni possono essere effettuate indifferentemente con i tasti di selezione veloce o con i tasti freccia.
Un Help in linea permette di richiamare immediatamente un promemoria per i comandi disponibili. Tutte le operazioni di configurazione dell'ambiente di sviluppo, come le variabili correntemente monitorate, sono automaticamente salvate in un file in modo da essere sempre pronti a lavorare.
Esiste inoltre la possibilità di salvare diverse configurazioni in funzione dell'applicazione e/o della logica utilizzata.
Un dettagliato ed esauriente manuale di programmazione permette di apprendere in tempi brevissimi e senza sforzi sia il linguaggio di programmazione che le tecniche per la messa a punto del programma; sezioni dedicate all'interfaccia RS232 permettono rapidamente di creare programmi di supervisione su PC, mediante linguaggi ad alto livello, che gestiscano qualunque risorsa del sistema: un semplicissimo protocollo di comunicazione RS232 consente di "entrare" nella RAM dati del sistema interagendo, a qualunque livello, con il programma della macchina.

[Torna a inizio pagina] [Torna alla homepage] [Presentazione Logiche Detail]