Programmazione di dispostivi industriali IEC

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Programmazione di dispostivi industriali IEC 61131-3"

Transcript

1 Programmazione di dispostivi industriali IEC Dipartimento di Ingegneria Elettrica, Gestionale e Meccanica Universitá degli Studi di Udine A.A

2 Premessa > uso dei PLC grazie al miglioramento prestazioni e miniaturizzazione tecnologia controllo e supervisione di sistemi sempre più complessi differenze di velocità, comunicazione, I/O

3 Desiderata Utilizzo simultaneo di diversi linguaggi di programmazione Modifica online di programmi Reverse documentation dei programmi Riutilizzo di moduli Verifica e simulazione off-line del funzionamento Documentazione del progetto e verifica della qualità Utilizzo di sistemi non proprietari

4 Lo standard IEC cerca di risolvere/ovviare alcuni dei problemi e differenti sistemi di sviluppo potranno implementarne solo parte. Perchè dovrebbe funzionare? Crescita costo formazione personale Crescita sviluppo di programmi sempre più complessi Costo sviluppo di sistemi di programmazione più complessi

5 Vantaggi al produttore Possibilità di modifiche della definizione degli standard Riduzione dei costi mediante standardizzazione Riduzione rischi prodotto inadatto Riduzioni time-to-market per nuovi prodotti Vantaggi all utilizzatore Possibilità di lavorare con sistemi con caratteristiche prevalenti simili Facilitá nella scelta di sistemi di sviluppo Portabilità dei programmi (parte)

6 Certificazione soddisfacimento standard Base level: istruzioni fondamentali comuni Portability level: costrutti fondamentali portabili su diversi sistemi a livello di moduli Full level: interscambio totale Formato di interscambio (certificazione, luogo, produttore, etc.)

7 Le POU (blocchi dei vecchi sistemi di sviluppo), Programming Organisation Unit, sono le più piccole unità software di un programma. Le POU possono effettuare chiamate ad altre POU. 1. Function (FUN): tempo invarianti, stessi ingressi generano sempre la stessa uscita (function value, valore della funzione); 2. Function Block (FB): dispongono di data record e sono tempo varianti, ovvero permettono di memorizzare dati e riutilizzarli alla chiamata successiva (si veda più avanti l istanziazione di FB ); 3. Program (PROG): in cima alla gerarchia e permettono di accedere agli I/O del dispositivo e renderli disponibili ad altre POU;

8 Lo standard stabilisce la struttura delle POU (realizzate dall utente) e l interfaccia di I/O di funzioni standard (standard FUN ) e function block standard (standard FB ).

9 Variabili: servono a memorizzare ed elaborare dati di processo. Corrispondono a flag o bit dei vecchi sistemi di sviluppo. Nel nuovo standard l allocazione delle variabili non viene fatta dall utente, ma in modo trasparente dal sistema di sviluppo. Il tipo di dati (data-type) delle variabili è obbligatorio e fisso. Alcuni tipi sono predefiniti (Bool, Byte, Real, etc.) e c è la possibilità di definirne di nuovi (record, array, etc.). È possibile associare alcune variabili a specifici I/O e pure garantirne la memorizzazione in caso di caduta di tensione. Alle variabili viene inoltre associato un tipo (variable type) a seconda che siano dichiarate Al di fuori di una POU (globali); Come parametro di chiamata di una POU (di interfaccia); All interno di una POU (locali).

10 Dichiarazione di tipo di dati: in modo testuale (mediante linguaggio) sempre, in modo grafico (parametri di interfaccia) in alcuni casi VAR INPUT (* ingresso *) ValidFlag :BOOL (*booleano*) END VAR VAR OUTPUT (*uscita *) RevPM :REAL (*reale*) END VAR VAR RETAIN (*locali, backup *) MotorNR :INT (*intera*) MotorName :STRING[10] EmStop AT %IX2.0 :BOOL (*bit 2.0 I/O*) END VAR

11 1. Instruction List (IL) (assembler, testuale); 2. Structured Text (ST) (linguaggio alto livello, testuale); 3. Ladder Diagram (LD) (schema a contatti, grafico); 4. Functional Block Diagram (FBD) (blocchi funzionali, grafico); 5. Sequential Function Chart (SFC) (diagrammi di flusso, grafico). Si vedano figure 2.1 e 2.2 del testo per i diversi linguaggi e le figure 2.3, Example 2.2 e Example 2.3 per un esempio di programmazione elementare.

12 PLC = + CPU e processori dedicati (risorse); ogni programma può essere eseguito su una o più risorse; i programmi differiscono in priorità e modalità (ciclico, periodico, interrupt); i programmi vengono associati ad un task al fine di essere resi eseguibili;

13 Il file di configurazione permette di rispondere alle seguenti domande Su quale PLC deve essere eseguito il programma? Con quali modalità di esecuzione e priorità? Si devono associare variabili a indirizzi fisici dell I/O del PLC? Ci sono variabili globali o esterne da condividere con altri programmi? Si vedano l esempio 2.4 e la figura 2.4 del libro di testo. Un PLC project consiste di POU fornite dal produttore del PLC oppure create dall utente. Le POU possono essere utilizzate per la realizzazione di librerie (hardware-independent).

14 Tipo di POU keyword funzionalità PROG PROGRAM Programma principale, assegnazione I/O variabili globali FB FUNCTION BLOCK Routine con variabili di ingresso e uscita, con possibilità di memorizzare dati tra una call e la successiva FUN FUNCTION Funzione a più ingressi e un solo valore La POU è la più piccola unità indipendente che può essere compilata (necessita di conoscere i parametri di interfaccia) e linkata ad altre POU. Il nome della POU è globale e noto all intero progetto e non sono permesse subroutine

15 Tipo di POU e nome (e valore, per FB ); Dichiarazioni di variabili; Codice. PROGRAM nome programma FUNCTION BLOCK nome fnct block FUNCTION nome funzione tipo funzione La parte di dichiarazione contiene tutte le variabili necessarie all esecuzione della POU, di interfaccia e interne. La dichiarazione di interfaccia può essere programmata graficamente. Il codice, o corpo del programma, può essere programmato utilizzando uno dei linguaggi di programmazione (testuale o grafico). Si veda la figura 2.6, l esempio 2.5 e 2.6 per esempi di definizione di POU.

16 Variabili dichiarate prima del codice. Variabili caratterizzate da tipo di dato (bool, real, etc.), mediante keyword dopo il nome della variabile tipo di variabile, mediante posizionamento in apposite sezioni (VAR INPUT, VAR IN OUT, etc.). Si veda l esempio 2.7 e 2.8. Tipo di variabile PROG FB FUN VAR VAR INPUT VAR OUTPUT VAR IN OUT VAR EXTERNAL VAR GLOBAL VAR ACCESS 1 0 0

17 Interfaccia di ingresso: parametri formali (sostituiti con parametri attuali all atto della chiamata); Interfaccia di uscita: variabili di uscita o valore della funzione; Interfaccia globale: variabili globali (global, external e access). Tipo di interfaccia Tipo variabile Note Ingresso VAR INPUT per valore VAR IN OUT per riferimento anche in forma grafica Uscita VAR OUT per valore anche in forma grafica Globali VAR GLOBAL, VAR EXTERNAL, VAR ACCESS Locali VAR (RETAIN) variabili interne Per variabili con dimensioni consistenti, la chiamata per riferimento è meno onerosa. La lettura/scrittura di variabili dipende dal tipo. Si veda la tabella 2.4.

18 Codice Sequential Function Chart: grafo di flusso per la gestione di sequenze/operazioni in serie/parallelo; Ladder Diagram: schema grafico a contatti per la realizzazione di funzioni logiche. Le POU scritte in LD sono divise in sezioni dette reti (networks); FBD: schema grafico a blocchi per operazioni logiche/aritmetiche. Sezioni=reti (networks). Reti booleane esprimibili in LD e viceversa; IL: linguaggio di basso livello (assembler); ST: linguaggio di alto livello per il controllo e calcoli matematici complessi; Altri linguaggi di alto livello: C, Basic, nel rispetto degli standard.

19 Istanziazione di FB I FB devono essere istanziati come le variabili (tipo di dati=tipo del FB, nome della variabile=nome del FB ) VAR Valve: BOOL; (*Valve è istanza di un booleano*) END VAR Supponiamo sia dato il FB MotorType, allora VAR Motor1: MotorType; (*Motor1 è istanza del FB MotorType*) END VAR Le istanze di FB sono visibili all interno della POU in cui sono dichiarate. Se dichiarate come globali, possono essere accessibili da più POU. Le FUN sono invece sempre globali e prive di istanza. Tipo di FB : definisce i parametri di I/O e il comportamento Istanza (nome) di FB : utilizzo all interno di altre POU. Contiene le variabili memorizzate (contatori, FF, etc.). Il meccanismo di istanziazione permette di implementare in diversi modi la POU corrispondente al FB.

20 VAR Counter: CTUD; (*Counter è istanza di contatore UP-DOWN*) END VAR A seguito dell istanziazione, la struttura dati del FB Counter puó essere utilizzata (si veda esempio 2.14) con l interfaccia riportata nell esempio Ad esempio, il valore del contatore UP viene memorizzato nella variabile Counter.CU (così come avviene per le strutture). I valori del contatore non utilizzati vengono comunque inizializzati. Per ciascuna istanza di un FB le VAR, VAR INPUT e VAR OUT vengono memorizzate in un area statica Esiste la possibilità di definire variabile dinamiche (VAR DYN). Le VAR IN (formali) mantengono il valore tra una chiamata al FB e la successiva (non alterati dal FB ). VAR OUT mantengono il valore tra una chiamata e la successiva.

21 Non sono ammessi riferimenti a indirizzi del PLC (%Q, %I, %M). È ammesso l utilizzo di indirizzi se dichiarati globalmente (fuori dal FB ); Non si possono definire variabili globali o di accesso; I dati possono essere passati al FB solo tramite interfaccia (VAR INPUT, VAR INOUT, VAR EXTERNAL). Un FB puó manipolare blocchi di dati solo tramite l interfaccia Un FB è una struttura dati indipendente e incapsulata associata ad un algoritmo che lavora sui suddetti dati Nei sistemi di sviluppo precedenti le FB lavoravano su blocchi di memoria globali (I/O, flag, memoria condivisa). Un FB può avere qualsiasi numero di ingressi e uscite. Un FB può essere dichiarato RETAIN, oppure solo alcune variabili di esso (non var IN e OUT). Per VAR IN OUT il RETAIN equivale a memorizzare il puntatore, dunque occorre dichiarare come RETAIN anche la variabile puntata.

22 FUN La FUN produce sempre la stessa uscita (valore della funzione) a parità di ingressi Può essere utilizzata com operatore in IL e operando in ST. Le FUN sono globali, ovvero il nome è noto a ciascuna POU del progetto PLC. Esistono funzioni standard predefinite dallo standard. Hanno numero arbitrario di ingressi, e una uscita (qualsiasi tipo). Variabili interne senza memoria: no RETAIN

23 Codice o programma FUN e FB =subroutine, PROG =programma principale (main) Accesso a indirizzi fisici del PLC (I/O, memoria) Definizione variabili globali e di accesso (scambio dati fra programmmi) Associato ad un task mediante la configurazione, per renderlo eseguibile sul PLC Non chiamato da altre POU

24 Chiamata di FB e FUN PROG FB e PROG FUN FB FB e FB FUN FUN FUN Ricorsione non ammessa (A chiama se stessa, A chiama B e B chiama A) Si veda il testo, Figura 2.7, esempio 2.17 e 2.18 per chiamate non ammesse. I parametri formali devono o meno essere specificati a seconda del linguaggio usato e della POU Linguaggio FUN FB PROG IL no sí (tre modi) sí ST indifferente sì sí LD e SFC sí sí sí Si veda l esempio 2.20 per le regole di chiamata in IL e ST e l esempio 3.18 per LD.

25 Inizializzazione (per tipo, o dall utente) delle variabili FB e FUN anche se alcuni parametri vengono omessi. Per FB, l inizializzazione avviene solo alla prima chiamata. Nel caso di omissione, occorre specificare i parametri formali (vedi esempio 2.21) Se sono presenti tutti i parametri formali, l ordine è irrilevante, se alcuni assenti, lo è.

26 Istanze di FB come parametri attuali di FB e FUN Istanze di FB e ingressi e uscite di istanze di FB possono essere utilizzate come parametri attuali di altri FB e FUN. Si veda l esempio 2.22 e la tabella 2.8. Chiamata indiretta Se l istanza è passata come VAR INPUT, l istanza e le sue variabili di uscita non possono essere alterati o chiamati nella FB chiamante, ma possono essere lette da questa; Come VAR IN OUT non può essere passata l uscita (il puntatore) di un istanza di FB (alterazione al di fuori del FB ) e neppure l uscita di una FUN. Chiamata diretta Se passate come VAR EXTERNAL o VAR OUTPUT è solo possibile leggere le variabili. Si veda l esempio 2.23.

27 Per le FUN, è possibile passare come ingresso un istanza di FB o variabili di essa (l istanza non viene chiamata, ma vengono utilizzati i dati) FUN possono esser utilizzate come ingresso ad altre FUN e FB. All atto del passaggio la FUN viene chiamata e il suo valore passato come parametro attuale alla FUN ofb. Si veda la tabella 2.9 per un riassunto delle proprietà delle POU.

28 1. Delimitatatori (delimiters); 2. Parole chiave (keywords); 3. Letterali (literals); 4. Identificatori (identifiers). FUNCTION RealAdd: REAL VAR INPUT Inp1,Inp2; REAL; END VAR RealAdd:=Inp1+Inp E-3 END FUNCTION Significato Esempio Delimitatori Caratteri speciali con diverso significato (,),+,- Keyword Parole chiave del linguaggio di programmazione RETAIN, VAR INPUT, REAL Letterali Valori di variabili 12, , 1e4, 16#a5 Identificatori Nomi di variabili, POU, tipi Out1, Pippo, TipoMotore

29 Keywords Non possono essere usate per definire variabili; Maiuscole, minuscole, miste (VAR input); Sono keywords riservate: 1. Nomi di tipi elementari 2. Nomi di FUN standard (ad esempio, LOG) 3. Nomi di FB standard (ad esempio, SR, CTUD); 4. Nomi di parametri di ingresso a standard FUN e di I/O di FB; 5. Operatori in IL (esempio, LD, CAL, ORN); 6. Elementi del linguaggio ST (ad esempio, FOR, CASE, WHILE); 7. Elementi del linguaggio SFC. Si veda l appendice H.1 del testo.

30 Letterali Rappresentano i valori di variabili numeriche Booleani: FALSE/TRUE Byte: 11, 16#0B, 2# Double Word: 16#ABCDEF, 16#ab cdef Interi: 12, 273; Virgola mobile: 13.4, 27.7, 14e-14; Stringhe di caratteri: pippo,. Letterali speciali richiedono il simbolo $: $$=$, $ = (si veda la tabella 3.4). Letterali temporali (rappresentano valori temporali, overflow ammesso, acronimo o completo, si veda tabella 3.3) Durata: t#2d3h4m, time#4s89.4ms, time#1h 22m, time#-1h, TIMe#1h 1m 0s; Data: d# , DaTe# ; Ora del giorno: tod#10:30:01.00, TimE OF day#hh:mm:ss.cs; Data e ora: dt# :15:00.00, date AnD time#aa-mm-gg-hh:mm:ss.cs;

31 Identificatori Devono iniziare con una lettera o un singolo underscore. Maiuscole=minuscole. Label di JUMP (nome routine) o di reti; Costanti enumerative (si veda avanti enumeration); Configurazioni, risorse etc.; Programmi etc; Variabili; Tipi di dati derivati (Tipi di Dati definiti dall utente); Transizioni e step in SFC. Lo standard prevede le prime 6 lettere come significative (bravis simo=bravis sima), ma > numero dipende dal sistema di sviluppo Si veda la tabella 3.6 per esempi di identificatori ammessi.

32 Variabili dichiarate nella parte dichiarativa di una POU. Dichiarazione indipendente da linguaggio usato. Dichiarazione: nome var:tipo var. LE dichiarazioni di nuovi tipi di dati é globale; Classica programmazione PLC: accesso diretto alla memoria o I/O (M 3.1, IW 4). Tipo di dato consistente con la cella di memoria, I/O. Soluzione: creazione tabella di simboli per associare nomi a I/O e memoria. IEC : utilizzo variabili. Tabella assegnazione Dichiarazione variabili IEC VAR I 3.4= InpVar InpVar AT %IX3.4: BOOL ; M 70.7= FlagVar FlagVar: BOOL; Q 1.0= OutVar OutVar AT%QX1.0: BOOL; AT %MX70.6: BOOL; END VAR

33 Nome dela variabile: posizione di memoria assegnata sul PLC (trasparente). Tipo di dati (data type): definisce le proprietà di una variabile Valore iniziale; Campo di valori (range); Dimensione della variabile. Ulteriori proprietà associate alla tipo di variabile (IN, OUT, etc.). Type checking in fase di compilazione e funzionamento: riduzione errori e individuazione malfunzionamenti mediante avvertimenti (warning). Sistemi di sviluppo classici/ IEC 631: allocazione manuale della memoria/allocazione automatica. Assenza errore doppia assegnazione stessa allocazione.

34 Tipi di dati Portabilità codice: uniformità tipi di dati standard. Booleani/stringhe bit Interi Interi senza segno Reali Temporali/stringhe BOOL INT UINT REAL TIME BYTE SINT USINT LREAL DATE WORD DINT UDINT TIME OF DAY DWORD LINT ULINT DATE AND TIME LWORD STRING Dimensione fissa eccetto per temporali (dipende dal sistema di sviluppo). Si veda l appendice D per le proprietà dei tipi di dati.

35 Definizione nuovi Tipi di dati (derivati) TYPE RealeLungo: LREAL; (* nome facile *) FP: RealeLungo; (*definizione basata su nuovo tipo*) FP I1: LREAL:=1.0; (*nuovo valore iniziale*) tcontrol: BOOL:=TRUE; (*nuovo valore iniziale*) END TYPE; Proprietà Val iniziale Enumerativo Range Array Struttura Significato Valori come da lista (interi) Valori nel campo definito Matrice di elementi stesso tipo Elemento complesso con più tipi di dati

36 TYPE Colore: (ros, gia, ara); (*enumerativo*) Semaforo: Colore; Filamacchine: INT (0..20); (* range, inizializzato a sx*) Altre file: ARRAY[1:8] of FilaMacchine; Incrocio a 4: (*struttura*) STRUCT Semafori: ARRAY[1..4] OF Semaforo; File: array[1..4] OF FilaMacchine; END STRUCT; END TYPE VAR File Persone: Altre File:=[1,3,2(1,4),0,5]; END VAR; Array o strutture di FB non sono al momento permessi (futura introduzione). Nesting (annidamento) di array e strutture permesso (senza ricorsione)

37 Tipi di dati generici Tipi di dati gerarchicizzati. Tipi generici utilizzati per overloading di funzioni, vietati nelle dichiarazioni. Lo standard prevede una strutturazione dei tipi di dati: BOOL, BYTE, WORD, etc., sono figli di ANY BIT; INT, SINT, UINT, DINT etc. sono figli di ANY INT; REAL, LREAL sono figli di ANY REAL; ANY INT e ANY REAL sono figli di ANY NUM; DATE, TIME OF DAY, DATE AND TIME sono figli di ANY DATE; ANY BIT, ANY NUM e ANY DATE sono figli di ANY.

38 Variabili Proprietà specificata dal tipo di dato; Inizializzazione esplicita variabile; Informazioni sulle dimensioni dell array; Tipo di variabile (blocco dichiarativo) e attributo tipo di variabile { }} { VAR OUTPUT Pippo } {{ } Nome variabile attributo { }} { RETAIN : } BYTE {{ } tipo :=12 } {{ } Val iniz. ; END VAR; Enumerazioni, range e strutture non possono essere inizializzati. La dichiarazione di un istanza di FB equivale a dichiarazione di una variabile, quella di un FB al tipo (inizializzato qui).

39 I/O e memoria Rappresentazione diretta (old style); Rappresentazione simbolica (new style); AT+%+(I,Q,M)+(,X,B,W,D,L)+v.w.x.y.z= PLC.bus.modulo.word.bit (dipende dal sistema) %I30 Bit 80, ingresso %IW20 Word 7, ingresso %M3.0 Flag 0 della word 2, memoria %QX5.2.1 Byte 1 della word 1 del modulo 5, uscita VAR AT %IW6: WORD; AT %QD3: DINT; OUT HG AT %QW7: WORD; AD 3 AT %QD3: WORD; END VAR

40 Array, strutture e inizializzazione VAR Prova: Incrocio a 4; END VAR;... Prova.Semafori[1]:=ros; Prova.File[2]:=17; Priorità di inizializzazione: 1. RETAIN (warm restart) > 2. Inizializzazione con variabile (cold restart) > 3. Inizializzazione con tipo (cold restart). Il valore iniziale di Ingressi e uscite dipende dal sistema. Inizializzazione non permessa per: EXTERNAL e VAR IN OUT

41 Attributi e rappresentazione grafica di variabili RETAIN, CONSTANT: associati all intera sezione (IN, OUT, etc.); R EDGE, F EDGE, READ ONLY, READ WRITE: singola variabile (si veda capitolo 5 per R EDGE) TIPO DI VAR RETAIN CONSTANT R/F EDGE(g) READ ONLY/WRITE VAR IN(g) OUT(g) IN OUT(g) EXTERNAL GLOBAL ACCESS Table: Attributi e possibilità di rappresentazione grafica delle variabili

42 IL Label: Operatore/Funzione Operand1,(Operando2,..) commento Nome etichetta Operatore o funzione uno o più operandi (*...*) Esempio CND1: LD In1 (* carica in1 su accumulatore *) AND Out2 (* AND di accumulatore con Out2 *)... JMPCN CND1 (* se accu=1, salta a CND1 NOTA: ; non ammesso in IL. Risultato intermedio (tipo di dato elementare, derivato, function block) memorizzato nell accumulatore virtuale (Current Result, CR). Vedi esempio in aula. Alcuni operatori possono modificare il CR: Crearlo (C, es: LD), Elaborarlo (P, es: GT), Lasciarlo immutato (U, es ST),lasciarlo indefinito (-, es: return da FB).

43 Operatori, modificatori Operatore+N+C+( N negazione operando: ANDN, ORN, LDN; ( parentesi (anche più livelli); C condizionale (= se CR=TRUE): JMPC; Operatori Booleani: LoaD, AND, AND(, OR, OR(, XclusiveOR, XOR(, STore, Set (operando= TRUE se CR=TRUE), Reset (operando=false se CR=TRUE), ); Operatori generici: LD, ST, ADD, SUB (CR-operando), DIV (CR/operando), GreaterThan (CR>operando), GT(, GE, GE(, EQ, EQ(, NE, NE(, LE, LE(, LT, LT(, ); Operatori di salto o chiamata: JuMP, JMPC+N (salti/condizionato a label), CALl, CALC+N (esecuzione/condizionata FB ), RETurn, RETC+N (return/condizionato da FB o FUN ), nome funzione;

44 Chiamata di Funzioni e Function Block FUN FB LD operando1 (*modificatori (N, C, ( non ammessi*) nome funzione+spazio+operando2,+operando3,+.. chiamata con nome parametri attuali e formali di ingresso tra parentesi: Time1(IN1:=1, IN2:=-1) memorizzando i parametri formali negli attuali +CAL nome FB: LD 1 (* Attuale *) ST Time1.IN1 (* Formale *) LD -1 (*Attuale *) ST Time1.IN2 (* Formale *) CAL Time1 (* Chiamata *) LD Time1.OUT (* formale *) ST Mio out (* Attuale, POU chiamante *)

45 Esempio IL 1. Tre sensori, S1, S2 e S3, segnalano la presenza in ciascuna stazione. La variabile StationStop memorizza il numero di stop; 2. Il controllo del motore avviene mediante: Direction (1=avanti, 0=indietro), a tenuta StartStop: (1=start, 0= stop) 3. All interno della cabina, il controllo dell apertura della porta avviene mediante il segnale DoorOpenSignal (1=apri, 0=chiudi); 4. I motori per l apertura/chiusura della porta vengono attivati dal fronte di OpenDoor e CloseDoor; 5. L avvio/stop del sistema avviene mediante il pulsante MrStart, MrEnd. 6. È necessario segnalare con un segnale di pericolo il sistema in stato di stop.

46 FUNCTION BLOCK MRCONTROL VAR INPUT MRsTart: BOOL R EDGE; MREnd: BOOL; S1, S2, S3: BOOL R EDGE; DoorOpenSignal: BOOL; END VAR VAR IN OUT STartStop: BOOL; END VAR VAR OUTPUT OpenDoor, CloseDoor: BOOL; END VAR VAR OUTPUT RETAIN EndSignal: BOOL; END VAR VAR StationStop: CTU; (*contatore numero di stop*) DoorTime: TON; (*chiusura ritardata porta*) END VAR VAR RETAIN Direction: BOOL; (direzione: su=1, giù=0*) END VAR (* Prima partenza? Azzera tutte le variabili *) LD MRstart R EndSignal JMPC ResCount JMP Arrive ResCount: LD 1 ST StationStop.Reset LD 9999 ST StationStop.pv CAL StationStop (*FB *) JMP Closecabin

47 Arrive:LD S1 OR S2 OR S3 R StartStop CALC StationStop(RESET:=0, CU:=1) LD S1 XO3 S3 JMPCN NoDirChange LD Direction STN Direction NoDirchange:LD OpendoorSignal ANDN STartStop ST Opendoor LD Mrend ANDN StartStop S EndSignal JMPC Pouend CloseCabin:LD DoorOpenSignal STN CloseDoor LDN DoorOpenSignal ANDN StartStop ST Doortime.IN LD T#10s ST Doortime.PT CAL DoorTime LD DoorTime.Q S StartStop PouEnd: RET END FUNCTION BLOCK

48 ST Pro: Alto livello, formulazione/scrittura compatta, chiara, potente e strutturata (niente JMP o GOTO) Contro: assenza controllo compilazione, minore efficienza. Istruzioni (statement) separate da ;. L EOL o LF=spazio. Più istruzioni su una linea o istruzione su più linee. Commenti all interno delle istruzioni A:=(*operatore assegnazione *) IN1 (*ingresso*) AND (*operatore*) IN2;

49 Statement assegnazione: a:=10; chiamata FB : nome FB(IN1:=10,IN2:=10,mio out); terminazione POU ante tempo: RETURN (*a POU chiamante *); Assegnare la variabile di uscita di una FUN prima del RETURN selettore binario: IF a<3 THEN g:=4; ELSEIF a=3 THEN g:=7; ELSE g:=0; END IF; selettore multiplo: CASE nome var OF 1: g:=11; 2: g:=12; ELSE g:=0; END CASE; CONTINUA

50 ciclo (numerato) FOR: FOR nome var:=val ini TO val fin BY passo DO h:=h/2; END FOR; 1) nome var, val ini, val fin e passo dello stesso tipo 2) non alterare nome var, val ini e val fin all interno del loop (passo?); ciclo (controllo inizio) WHILE: WHILE nome var=true DO h:=h/2; IF h<= 1 THEN nome var:=false; END IF; END WHILE; ciclo (controllo fine) REPEAT: REPEAT nome var:=nome var*2; UNTIL nome var =100; END REPEAT; terminazione ciclo: EXIT; (* esce dal LOOP prima del verificarsi della condizione di fine loop*) vuota: ;; (* per migliore leggibilità codice *);

51 Espressioni e operatori PROG=lista di istruzioni, istruzione= lista di espressioni, espressioni= operando+operatore+operando Operatori: parentesi, chiamata di funzione (nome funzione+parametri), potenza **, opposto -,NOT, AND, OR, XOR, confronto <, <=, >, >=, =, etc. Regole di precedenza classiche (* > + e -, parentesi > altre, etc.), definite da standard (tabella 4.6) non utilizzare mai FB all interno di espressioni (non producono un valore come le FUN ).

52 Esempio ST Regolazione dei due speaker a seconda del valore del bilanciamento (balance), INT tra -5 e +5, e del volume, INT tra 0 e 10. L uscita agli amplificatori é un REAL; Controllo del volume. Un LED deve segnalare se il volume eccede un valore di sicurezza per un tempo predefinito e tale evenienza deve essere segnalata al programma chimante; Il programma deve essere parametrizzato per due modelli. 0 0 L Bal 5 5 Vol R Figure: Diramazioni, crossing e wired-or

53 FUNCTION BLOCK Volume VAR INPUT BalControl: SINT(-5..5); (* bilanciamento, intero da -5 a 5 *) VolControl: SINT(0..10); (* volume, intero da O a 10 *) ModelType: BOOL; (* 2 modelli: TRUE o FALSE *) END VAR VAR OUTPUT RightAmplif, LeftAmplif: REAL; (* variabile regolazione ampli dx e sx*) LED: BOOL; (* LED di allarme on: TRUE; off: FALSE *) END VAR VAR IN OUT Critical: BOOL; (* return value *) END VAR VAR MaxValue: REAL:=26; (* max. amplificazione; se attiva a lungo, LED=ON *) HeatTime: TON; (* istanziazione FB*) (* per controllare tempo attivazione max amplif.*) Overdrive: BOOL; (* stato di allarme *) END VAR

54 (* Regolazione ampli destro in funzione di bilanciamento e volume*) RightAmplif:= Norm (LCtrlK := VolControl,Type := ModelType,BIK := BaIControl+5); (*Regolazione ampli sx*) LeftAmplif:=Norm (LCtrlK := VolControl,Type := ModelType,BIK:= ABS(BaIControl- 5)); (* Amplificazione troppo alta? *) IF MAX(LeftAmplif, RightAmplif) >= MaxValue THEN Overdrive := TRUE; ELSE Overdrive := FALSE; END IF; (* Amplificazione troppo alta per più di 2 secondi? *) HeatTime (IN := Overdrive, PT := T#2s); LED := HeatTime.Q; IF HeatTime.Q = TRUE THEN Critical:= 1; END IF; END FUNCTION BLOCK

55 FUNCTION Norm: REAL VAR INPUT BIK: SINT;(* bilanciamento *) LCtrIK:SINT;(* volume *) Type: BOOL;(* 2 tipi: TRUE o FALSE *) END VAR TYPE CalType : REAL := 5.0; (* nuovo tipo di dato con val. iniz. =5.0 *) END TYPE VAR Calib:CaIType; (* Fattore di scala per l uscita su ampli *) END VAR (* Calcola il valore dell ampli a seconda di volume, bilanciamento e modello *) Norm := SINT TO REAL(BIK) + (* bilanciamento *) Calib + (* + fattore di scala *) SEL(G := Type, IN0 := 4.0, IN1 := 6.0) + (* + fz. del modello *) SINT TO REAL(LCtrIK); (* + volume*) END FUNCTION

56 Struttura FBD e LD 1. Intestazione e conclusione della POU 2. Dichiarazione di variabili 3. Codice: suddiviso in reti (networks), numerate in sequenza in maniera automatica (0001, 0002 ). Il numero svolge il ruolo di numero di riga di un classico linguaggio di programmazione. Ogni rete consiste di 3.1 Etichetta (label): per raggiungere le istruzioni della rete da altra rete (JUMP). Il nome é locali=visibilità limitata alla POU in cui si trova. 3.2 Commento 3.3 Grafico funzionale (funzionamento della rete) numerazione automatica z} { 0010 nome scelto dall utente z } { Nome label : ( Commento ) grafico funzionale

57 Elemento1 Elemento3 Elemento1 Elemento3 Elemento2 Elemento4 Elemento2 Wired OR solo in LD Figure: Diramazioni, crossing e wired-or Elemento4 network_x: prima_parte connettore (locale POU) conn1 conn1 seconda_parte schermo Figure: Connettori

58 funzione VarAnd1 VarAnd2 Blocco funzionale istanza AND Counter_1 CTU CU Q VarOut Var_start R CV 1000 PV d=c and (a or b) a b >=1 & c d a b d=c+ab * + c d Figure: Connessione di FUN efb a d * c + d a b * c + d feedback implicito feedback esplicito Figure: Feedback

59 Oggetto Nome Significato Esempio 1 <RETURN> RETURN incondizionato RET restituisce il controllo alla POU chiamante [0005] nwp <RETURN> RETURN condizionato LD nwp se nwp==1 termina la POU e ritorna a chiamante [0005] RETC se nwp==0, ignora 1 >>nome label salto incondizionato JMP nome label salta a network indicata nwp >> nome label salto condizionato LD nwp JMPC nome label se nwp==1 salta a nome label se nwp==0, ignora Reti elaborate dall alto al basso (eventualmente con JUMP). Regole di elaborazione della singola rete: 1) necessaria elaborazione di tutti gli ingressi di un elemento (FUN o FB ) prima dell esecuzione dell elemento 2) l elaborazione di un elemento è completata solo quando tutti le uscite sono state elaborate 3) l elaborazione di una rete è completata quando tutti gli elementi sono stati elaborati [0004]

60 Esempio FBD FUNCTION BLOCK Volume VAR INPUT BalControl: SINT(-5..5); (* bilanciamento, intero da -5 a 5 *) VolControl: SINT(0..10); (* volume, intero da O a 10 *) ModelType: BOOL; (* 2 modelli: TRUE o FALSE *) END VAR VAR OUTPUT RightAmplif, LeftAmplif: REAL; (* variabile regolazione ampli dx e sx*) LED: BOOL; (* LED di allarme on: TRUE; off: FALSE *) END VAR VAR IN OUT Critical: BOOL; (* return value *) END VAR VAR MaxValue: REAL:=26; (* max. amplificazione; se attiva a lungo, LED=ON *) HeatTime: TON; (* istanziazione FB*) (* per controllare tempo attivazione max amplif.*) Overdrive: BOOL; (* stato di allarme *) END VAR

61

62

63 FUNCTION Norm: REAL VAR INPUT BIK: SINT;(* bilanciamento *) LCtrIK:SINT;(* volume *) Type: BOOL;(* 2 tipi: TRUE o FALSE *) END VAR TYPE CalType : REAL := 5.0; (* nuovo tipo di dato con val. iniz. =5.0 *) END TYPE VAR Calib:CaIType; (* Fattore di scala per l uscita su ampli *) END VAR

64

65 LD deriva dagli schemi a contatti elettromeccanici principalmente utilizzato per funzioni logiche codice ordinato per networks, come in FBD ogni network è organizzata tra le linee di potenza a sx e dx la linea a sx è caricata al valore 1 (alto) i vari contatti lungo la linea lasciano passare (o fermano) il valore Prima_rete Var1 Var2 Varout Var3 Varout=Var1 and (Var2 or Var3) Figure: LD

66 Contatti e bobine vsx A A P A N A A = (vsx) AND A Contatto aperto/chiuso = TRUE se 1) fronte salita A 2) vsx=true =FALSE altrimenti = TRUE se 1) fronte discesa A 2) vsx=true =FALSE altrimenti A=vsx A=NOT(vsx) Contatto rising edge Contatto falling edge Bobina Bobina negata A = (vsx) AND (NOT A) Nota: con la lettera M nella bobina A e di tipo RETAIN A S A R A P A=TRUE se vsx=true immutato, altrimenti A=FALSE se vsx=true immutato, altrimenti A=TRUE se fronte di salita di vsx A= immutato altrimenti Bobina set Bobina reset Bobina rising/fallling edge Figure: LD Nota: anche SM Nota: anche RM A N

67 Controllo del programma Oggetto Nome Significato Esempio <RETURN> RETURN incondizionato RET restituisce il controllo alla POU chiamante [0011] nwp <RETURN> RETURN condizionato LD nwp se nwp==1 termina la POU e ritorna a chiamante [0005] RETC se nwp==0, ignora >>nome label salto incondizionato JMP nome label salta a network indicata [0002,4] nwp >> nome label salto condizionato LD nwp JMPC nome label se nwp==1 salta a nome label se nwp==0, ignora [0001,8]

68 Chiamata di FB Come in FBD, ma almeno un ingresso e un uscita devono essere BOOL e collegati alle linee di potenza sx e dx. Blocco funzionale istanza Counter_1 CTU nwp CU Q ResVar R CV SetValue PV nwp Figure: Chiamata FB

69 Chiamata di FUN Le FUN dispongono di ulteriori I/O BOOL: EN e ENO, da collegare (direttamente o tramite altre reti) alle line potenza. Se EN=FALSE, la funzione non viene eseguita e ENO=FALSE; Se EN=TRUE, ENO viene inizializzato a TRUE; Durante l esecuzione della funzione ENO può essere assegnato; Se durante l esecuzione della FUN c è un errore (vedi appendice E), ENO=FALSE. nwp SelVar Var1 Var2 SEL EN ENO G IN0 IN1 nwp OutVar Figure: Chiamata FUN

70 Esecuzione e feedback Come in FBD, riga per riga da alto verso basso. Per quanto riguarda l elaborazione della singola rete, dipende dal sistema, tipicamente, da sx a dx. Si vedano figure 4.38 e figura In LD è ammesso il solo feedback implicito (nessuna retroconnessione) Prima_rete Var1 Var2 Var3 Var1 Figure: Feedback Si sconsigila l utilizzo di feedback con variabili di uscita di FB

71 Esempio in LD FUNCTION BLOCK MRCONTROL VAR INPUT MRsTart: BOOL; (*segnale avvio*) MREnd: BOOL; (* avvio procedura stop*) S1, S2, S3: BOOL; (* sensori di stazione*) DoorOpenSignal: BOOL;(switch apertura porta: 1=aperta, 0=chiusa*) END VAR VAR IN OUT STartStop: BOOL; (* movimento cabina: 1=movimento, 0=ferma*) END VAR VAR OUTPUT OpenDoor, CloseDoor: BOOL; (* motori apertura/chiusura porta*) EndSignal: BOOL; (* segnale avviso sistema spento*) END VAR VAR OUTPUT RETAIN EndSignal: BOOL; END VAR VAR StationStop: CTU; (*FB contatore numero di stop*) DoorTime: TON; (*FB chiusura ritardata porta*) Dirswitch: SR; (*FB flip-flop SR per cambio direzione*) END VAR VAR RETAIN Direction: BOOL; (* direzione attuale*) END VAR

72 0001: (* Se il sistema viene avviato per la prima volta dopo shut-down, resetta EndSignal*) 0002: >> Arrive 0003 ResCount: (*Risetta il contatore di stazioni*) 0004: >> CloseCabin 0005 Arrive: (* incrementa il valore del contatore di stazioni se la cabina arriva ad una stazione *)

73 0006: (* Cambio di direzioni su stazione 1 e 3*) 0007: (* se sono verificate le condizioni per aprire la porta, attiva OpenDoor *) 0008: (*se richiesto il poweroff, segnalalo e esci*) 0009 CloseCabin: (* chiudi la porta quando l interruttore di apertura porta viene chiuso *)

74 0010: (* la cabina riparte 10 secondi dopo l attivazione dell interruttore porte*) 0011 PouEnd: (* return a POU chiamante *) <RETURN> END FUNCTION BLOCK

75 SFC utilizzato per scomporre in sottounità programmi ad elevata complessità; scomposizione in processi sequenziali e paralleli; la temporizzazione delle sottounità dipende da condizioni statiche (variabili funzione del programma) e dinamiche (I/O del PLC); le sottounità sono programmate in uno dei quattro linguaggi visti (LD, IL, ST, FBD); SFC deriva dalle reti di PETRI e viene verificato formalmente; linguaggio grafico (immediato), ma ammette descrizione in formato testuale (interscambio, backup); descrizione di funzioni in SFC non permessa se una POU è scritta in SFC, allora tutta la POU deve essere strutturata in SFC

76 Processo chimico 1. Riempimento serbatoio fino a sensore pieno; 2. Chiusura valvola riempimento e attivazione mixer fino a raggiungimento mixing desiderato; 3. Interruzione mixer, svuotamento serbatoio mediante apertura valvolva uscita. Lavabiancheria 1. Apertura valvola acqua e riempimento serbatoio fino a sensore pieno; 2. Rotazione cestello per intervallo funzione del carico e ciclo scelto Centrifuga, svuotamento

77 POU in SFC suddivisa in una o più reti (networks), ciascuna composta da passi (step) e transizioni (transitions); step: attivo o inattivo. Se attivo, viene ripetuto un set di istruzioni (actions) fino alla disattivazione; transition: disattivano gli step a monte e attivano gli step a valle: lo stato di attivo (token) viene passato dai predecessori ai successori; i token non possono moltiplicarsi o circolare in maniera incontrollata: strumenti per la verifica formale del corretto funzionamento; il verificarsi di una transizione dipende dalla condizione di transizione=espressione booleana; una POU ha sempre uno step iniziale da cui parte;

78

79 Sequenza singola: ST= Trans = SB Se ST è attiva, al verificarsi di Trans, il token viene passato a SB. Percorso divergente (1/3): selezione di una sola sequenza, con priorità decrescente da sx a dx (asterisco) Se ST è attiva, le transizioni Trans1, Trans2,... vengono verificate e la prima di queste che è vera (l iesima), disattiva ST e attiva a valle l iesimo step SB. Anche in formato testo Percorso divergente (2/3) con priorità assegnata: selezione di una sola sequenza, con priorità assegnata dall utente. Solo grafico.

80 Percorso divergente (3/3) mutuamente esclusivo: come il divergente, ma senza precedenza e con condizioni di transizione mutuamente esclusive (una sola TRUE per volta). Solo grafico. Convergenza di sequenze: quando uno degli step STn è attivo e la corrispondente Transn diventa TRUE, STn viene disattivato e il token passato a SB. Sequenze simultanee (parallelo): if ST=ACTIVE and Trans =TRUE then stop(st); start(sb1); start(sb2); end if. Convergenza di sequenze in parallelo: se tutte le STn sono attive e Trans =TRUE, allora interrompile tutte e attiva SB.

81 Anello: come il divergente sotto (1/3, 2/3, 3/3), con la possibilità di ritornare a uno step a monte. Sequenza di bypass: come il divergente a monte (1/3, 2/3, 3/3), step vuoto su un canale.

82 Rete insicura: token incontrollato; Rete irragiungibile: token non può mai raggiungere alcuni step; Figure: Rete insicura (sx) e rete irragiungibile (dx)

83 Step step=set di istruzioni eseguite fino a che lo step è attivo deattivazione tramite transition=condizione booleana di transizione transizioni programmate in IL, FBD, LD, ST

84 nome_step nome_step Collegamento all action block fornisce flag attivazione Nome dello step Collegamento all action block fornisce flag attivazione Nome dello step STEP nome_step: (*corpo dello step *) END_STEP INITIAL_STEP nome_step: (*corpo dello step *) END_STEP Figure: Rappresentazione grafica e testuale di uno step nome step.x (WP), variabile definita in modo implicito, flag di attivazione dello step (step flag)=true/false nome step.t (WP), tempo di attivazione dello step. =0 se lo step non è mai stato attivo, altrimenti la durata dell ultima attivazione. Se è necessario utilizzare tale informazione al ciclo successivo: POU di tipo RETAIN

85 Transition Una transizione attiva gli step a valle se (a) tutti i passi a monte sono attivi e (b) la condizione di transizione è vera. Descrizione di una transition: 1. Sintassi immediata: condizione di transizione scritta a fianco della transizione (ST, LD, FBD). Espressioni booleane con sola assegnazione alla variabile di transizione (FUN OK, FB KO); 2. Connettori: condizione di transizione fornita dalla rete associata al connettore (LD, FBD); 3. Nome della transizione: la transizione viene descritta separatamente (LD, ST, FBD, IL). La stessa descrizione può essere utilizzata per più transizioni.

86

87

88

89 TRANSITION FROM (stepm 1,..,stepM n) TO (stepv 1,..,stepV n): LD Var1 AND Var2 (*il CR deve contanere un BOOL alla fine*) END TRANSITION TRANSITION FROM (stepm 1,..,stepM n) TO (stepv 1,..,stepV n) := Var1 & Var2 (*espressione booelana*) END TRANSITION Desiderata non ancora implementati: TRANSITION nome transition FROM (stepm 1,..,stepM n) TO (stepv 1,..,stepV n): (* condizione di transizione*) END TRANSITION

FONDAMENTI di INFORMATICA L. Mezzalira

FONDAMENTI di INFORMATICA L. Mezzalira FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software

Dettagli

Funzioni in C. Violetta Lonati

Funzioni in C. Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni

Dettagli

Il Linguaggio di Programmazione IEC 61131-3

Il Linguaggio di Programmazione IEC 61131-3 Il Linguaggio di Programmazione IEC 61131-3 Testo di Riferimento: R.W.Lewis, "Programming industrial control systems using IEC 1131-3", IEE Control Engineering Series 50. Limiti "Storici" della Programmazione

Dettagli

NORMA CEI EN 61131. PLC: programmazione. PLC: programmazione. PLC: programmazione. Automazione Industriale 3. Automazione Industriale

NORMA CEI EN 61131. PLC: programmazione. PLC: programmazione. PLC: programmazione. Automazione Industriale 3. Automazione Industriale NORMA CEI EN 61131 Ing.Francesco M. Raimondi www.unipa.it/fmraimondi Lezioni del corso di Dipartimento di Ingegneria dell Automazione e dei Sistemi 1 La normativa IEC 1131 del 1993 ha standardizzato 5

Dettagli

Algoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente.

Algoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente. Algoritmo Formalmente, per algoritmo si intende una successione finita di passi o istruzioni che definiscono le operazioni da eseguire su dei dati (=istanza del problema): in generale un algoritmo è definito

Dettagli

Arduino: Programmazione

Arduino: Programmazione Programmazione formalmente ispirata al linguaggio C da cui deriva. I programmi in ARDUINO sono chiamati Sketch. Un programma è una serie di istruzioni che vengono lette dall alto verso il basso e convertite

Dettagli

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto: Tipi primitivi Il linguaggio Java offre alcuni tipi di dato primitivi Una variabile di tipo primitivo può essere utilizzata direttamente. Non è un riferimento e non ha senso tentare di istanziarla mediante

Dettagli

Introduzione alla programmazione in C

Introduzione alla programmazione in C Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale

Dettagli

INFORMATICA 1 L. Mezzalira

INFORMATICA 1 L. Mezzalira INFORMATICA 1 L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software del modello

Dettagli

LINGUAGGI DI PROGRAMMAZIONE

LINGUAGGI DI PROGRAMMAZIONE LINGUAGGI DI PROGRAMMAZIONE Il potere espressivo di un linguaggio è caratterizzato da: quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente) quali istruzioni di

Dettagli

Variabili e tipi di dato

Variabili e tipi di dato Variabili e tipi di dato Tutte le variabili devono essere dichiarate, specificandone il tipo La dichiarazione deve precedere l uso Il tipo è un concetto astratto che esprime: L allocazione di spazio per

Dettagli

Capitolo Quarto...2 Le direttive di assemblaggio di ASM 68000...2 Premessa...2 1. Program Location Counter e direttiva ORG...2 2.

Capitolo Quarto...2 Le direttive di assemblaggio di ASM 68000...2 Premessa...2 1. Program Location Counter e direttiva ORG...2 2. Capitolo Quarto...2 Le direttive di assemblaggio di ASM 68000...2 Premessa...2 1. Program Location Counter e direttiva ORG...2 2. Dichiarazione di dati: le direttive DS e DC...3 2.1 Direttiva DS...3 2.2

Dettagli

Introduzione al MATLAB c Parte 2

Introduzione al MATLAB c Parte 2 Introduzione al MATLAB c Parte 2 Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ 18 gennaio 2008 Outline 1 M-file di tipo Script e Function Script Function 2 Costrutti di programmazione

Dettagli

+ / operatori di confronto (espressioni logiche/predicati) / + 5 3 9 = > < Pseudo codice. Pseudo codice

+ / operatori di confronto (espressioni logiche/predicati) / + 5 3 9 = > < Pseudo codice. Pseudo codice Pseudo codice Pseudo codice Paolo Bison Fondamenti di Informatica A.A. 2006/07 Università di Padova linguaggio testuale mix di linguaggio naturale ed elementi linguistici con sintassi ben definita e semantica

Dettagli

L'utilizzo delle strutture dati nella programmazione del PLC in ambiente IEC61131, rende la gestione di attuatori e sensori più intuitiva ed efficace.

L'utilizzo delle strutture dati nella programmazione del PLC in ambiente IEC61131, rende la gestione di attuatori e sensori più intuitiva ed efficace. L'utilizzo delle strutture dati nella programmazione del PLC in ambiente IEC61131, rende la gestione di attuatori e sensori più intuitiva ed efficace. 28/10/2014 IT 2 Regole per la dichiarazione delle

Dettagli

Java: Compilatore e Interprete

Java: Compilatore e Interprete Java: Compilatore e Interprete Java Virtual Machine Il bytecode non è Linguaggio Macchina. Per diventarlo, deve subire un ulteriore trasformazione che viene operata dall interprete Java in modalità JIT

Dettagli

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) 12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica,

Dettagli

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory FILE SYSTEM : INTERFACCIA 8.1 Interfaccia del File System Concetto di File Metodi di Accesso Struttura delle Directory Montaggio del File System Condivisione di File Protezione 8.2 Concetto di File File

Dettagli

Appunti di Sistemi Elettronici

Appunti di Sistemi Elettronici Prof.ssa Maria Rosa Malizia 1 LA PROGRAMMAZIONE La programmazione costituisce una parte fondamentale dell informatica. Infatti solo attraverso di essa si apprende la logica che ci permette di comunicare

Dettagli

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1 MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati

Dettagli

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1 MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati

Dettagli

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo

Dettagli

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1) La gestione di un calcolatore Sistemi Operativi primo modulo Introduzione Augusto Celentano Università Ca Foscari Venezia Corso di Laurea in Informatica Un calcolatore (sistema di elaborazione) è un sistema

Dettagli

IL SOFTWARE SECONDO LA NORMA UNI EN ISO 13849-1:2008 (IIA PARTE) 1

IL SOFTWARE SECONDO LA NORMA UNI EN ISO 13849-1:2008 (IIA PARTE) 1 Ernesto Cappelletti (ErnestoCappelletti) IL SOFTWARE SECONDO LA NORMA UNI EN ISO 13849-1:2008 (IIA PARTE) 6 April 2012 1. Requisiti per la scrittura del software secondo la norma UNI EN ISO 13849-1:2008

Dettagli

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1 DIAGRAMMI A BLOCCHI TEORIA ED ESERCIZI 1 1 Il linguaggio dei diagrammi a blocchi è un possibile formalismo per la descrizione di algoritmi Il diagramma a blocchi, o flowchart, è una rappresentazione grafica

Dettagli

Richiesta pagina PHP (es: index.php)

Richiesta pagina PHP (es: index.php) PHP PHP = personal home page SERVER Richiesta pagina PHP (es: index.php) Server Web (Apache) in ascolto sulla porta 80, si accorge che la pagina richiesta è una pagina PHP in base all'estensione o con

Dettagli

Semantica dei programmi. La semantica dei programmi è la caratterizzazione matematica dei possibili comportamenti di un programma.

Semantica dei programmi. La semantica dei programmi è la caratterizzazione matematica dei possibili comportamenti di un programma. Semantica dei programmi La semantica dei programmi è la caratterizzazione matematica dei possibili comportamenti di un programma. Semantica operazionale: associa ad ogni programma la sequenza delle sue

Dettagli

Architettura del calcolatore

Architettura del calcolatore Architettura del calcolatore La prima decomposizione di un calcolatore è relativa a due macro-componenti: Hardware Software Architettura del calcolatore L architettura dell hardware di un calcolatore reale

Dettagli

Descrizione di un algoritmo

Descrizione di un algoritmo Descrizione di un algoritmo Un algoritmo descrive due tipi fondamentali di oper: calcoli ottenibili tramite le oper primitive su tipi di dato (valutazione di espressioni) che consistono nella modifica

Dettagli

Lezione 8. La macchina universale

Lezione 8. La macchina universale Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione

Dettagli

I file di dati. Unità didattica D1 1

I file di dati. Unità didattica D1 1 I file di dati Unità didattica D1 1 1) I file sequenziali Utili per la memorizzazione di informazioni testuali Si tratta di strutture organizzate per righe e non per record Non sono adatte per grandi quantità

Dettagli

ALGEBRA DELLE PROPOSIZIONI

ALGEBRA DELLE PROPOSIZIONI Università di Salerno Fondamenti di Informatica Corso di Laurea Ingegneria Corso B Docente: Ing. Giovanni Secondulfo Anno Accademico 2010-2011 ALGEBRA DELLE PROPOSIZIONI Fondamenti di Informatica Algebra

Dettagli

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof.

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof. Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 009-10 prof. Viviana Bono Blocco 9 Metodi statici: passaggio parametri, variabili locali, record

Dettagli

DAL DIAGRAMMA AL CODICE

DAL DIAGRAMMA AL CODICE DAL DIAGRAMMA AL CODICE Un diagramma di flusso Appare, come un insieme di blocchi di forme diverse che contengono le istruzioni da eseguire, collegati fra loro da linee orientate che specificano la sequenza

Dettagli

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini. Algoritmi di routing dinamici (pag.89) UdA2_L5 Nelle moderne reti si usano algoritmi dinamici, che si adattano automaticamente ai cambiamenti della rete. Questi algoritmi non sono eseguiti solo all'avvio

Dettagli

Laboratorio di Ingegneria del software Sistema di controllo di un ascensore Requisisti preliminari

Laboratorio di Ingegneria del software Sistema di controllo di un ascensore Requisisti preliminari Laboratorio di Ingegneria del software Sistema di controllo di un ascensore Requisisti preliminari A.A. 2012 2013 1 Introduzione Questo documento raccoglie i requisiti preliminari per il software di controllo

Dettagli

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell

Dettagli

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

Dettagli

GESTIONE INFORMATICA DEI DATI AZIENDALI

GESTIONE INFORMATICA DEI DATI AZIENDALI GESTIONE INFORMATICA DEI DATI AZIENDALI Alberto ZANONI Centro Vito Volterra Università Tor Vergata Via Columbia 2, 00133 Roma, Italy zanoni@volterra.uniroma2.it Rudimenti di programmazione Programming

Dettagli

MATLAB. Caratteristiche. Dati. Esempio di programma MATLAB. a = [1 2 3; 4 5 6; 7 8 9]; b = [1 2 3] ; c = a*b; c

MATLAB. Caratteristiche. Dati. Esempio di programma MATLAB. a = [1 2 3; 4 5 6; 7 8 9]; b = [1 2 3] ; c = a*b; c Caratteristiche MATLAB Linguaggio di programmazione orientato all elaborazione di matrici (MATLAB=MATrix LABoratory) Le variabili sono matrici (una variabile scalare equivale ad una matrice di dimensione

Dettagli

Capitolo 6: Modelli di calcolo per linguaggi imperativi e funzionali

Capitolo 6: Modelli di calcolo per linguaggi imperativi e funzionali Capitolo 6: Modelli di calcolo per linguaggi imperativi e funzionali 1 Modelli imperativi: le RAM (Random Access Machine) I modelli di calcolo imperativi sono direttamente collegati al modello Von Neumann,

Dettagli

Progetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012

Progetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012 Progetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012 Concetti importanti da (ri)vedere Programmazione imperativa Strutture di

Dettagli

Algebra Booleana ed Espressioni Booleane

Algebra Booleana ed Espressioni Booleane Algebra Booleana ed Espressioni Booleane Che cosa è un Algebra? Dato un insieme E di elementi (qualsiasi, non necessariamente numerico) ed una o più operazioni definite sugli elementi appartenenti a tale

Dettagli

Gian Luca Marcialis studio degli algoritmi programma linguaggi LINGUAGGIO C

Gian Luca Marcialis studio degli algoritmi programma linguaggi LINGUAGGIO C Università degli Studi di Cagliari Corso di Laurea in Ingegneria Biomedica (Industriale), Chimica, Elettrica, e Meccanica FONDAMENTI DI INFORMATICA 1 http://www.diee.unica.it/~marcialis/fi1 A.A. 2010/2011

Dettagli

Gestione dei File in C

Gestione dei File in C Gestione dei File in C Maurizio Palesi DIIT Università di Catania Viale Andrea Doria 6, 95125 Catania mpalesi@diit.unict.it http://www.diit.unict.it/users/mpalesi Sommario In questo documento saranno introdotte

Dettagli

Appunti del corso di Informatica 1. 6 Introduzione al linguaggio C

Appunti del corso di Informatica 1. 6 Introduzione al linguaggio C Università di Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Utilizzo del linguaggio Basic utilizzando l interfaccia di Excel Silvia Patacchini

Utilizzo del linguaggio Basic utilizzando l interfaccia di Excel Silvia Patacchini Introduzione all utilizzo di Visual Basic for Application Utilizzo del linguaggio Basic utilizzando l interfaccia di Excel Silvia Patacchini PROGRAMMAZIONE Insieme delle attività da svolgersi per creare

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C

Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Università di Roma Tre Facoltà di Scienze M.F.N. Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Nascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti

Nascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti Nascita di Java L uscita di Java, verso la metà degli anni novanta, fu accolta con molto entusiasmo dalla comunità dei programmatori e dei provider di servizi internet perché permetteva agli utenti del

Dettagli

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso Obiettivi formativi Introdurre i principi del funzionamento di un elaboratore e della programmazione. Presentare gli approcci elementari alla soluzione di problemi (algoritmi)e al progetto di strutture

Dettagli

Dispensa di Informatica I.1

Dispensa di Informatica I.1 IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca.

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 11 Martedì 12-11-2013 1 Tecniche di allocazione mediante free list Generalmente,

Dettagli

Concetto di Funzione e Procedura METODI in Java

Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Metodi e Sottoprogrammi Mentre in Java tramite le classi e gli oggetti è possibile

Dettagli

Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati

Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati Condizione di sincronizzazione Qualora si voglia realizzare una determinata politica di gestione delle risorse,la decisione se ad

Dettagli

diagramma funzionale sequenziale Sequential functional chart (SFC)

diagramma funzionale sequenziale Sequential functional chart (SFC) Introduzione Sequential functional chart (SFC) Linguaggio innovativo adatto per la scrittura di algoritmi per il controllo logico/sequenziale Nasce come risultato di una apposita commissione istituita

Dettagli

Il Linguaggio di Programmazione IEC 61131-3 Ladder

Il Linguaggio di Programmazione IEC 61131-3 Ladder Il Linguaggio di Programmazione IEC 61131-3 Ladder Linguaggio di Programmazione Ladder E' il più vecchio linguaggio di programmazione per PLC Si basa su simboli di provenienza "elettrica": binari di potenza

Dettagli

Tema di Progetto n 1

Tema di Progetto n 1 Ingegneria e Tecnologie dei Sistemi di Controllo L-A Tema di Progetto n 1 Si progetti in ambiente CoDeSys il controllo di sequenze di un sistema costituito da un ascensore. Si utilizzi il file AscensoreSingolo.pro

Dettagli

3. La sintassi di Java

3. La sintassi di Java pag.9 3. La sintassi di Java 3.1 I tipi di dati statici In Java, come in Pascal, esistono tipi di dati statici predefiniti e sono i seguenti: byte 8 bit da -128 a 127 short 16 bit coincide con l integer

Dettagli

Testi di Esercizi e Quesiti 1

Testi di Esercizi e Quesiti 1 Architettura degli Elaboratori, 2009-2010 Testi di Esercizi e Quesiti 1 1. Una rete logica ha quattro variabili booleane di ingresso a 0, a 1, b 0, b 1 e due variabili booleane di uscita z 0, z 1. La specifica

Dettagli

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica Fondamenti di Informatica Algebra di Boole: Concetti di base Fondamenti di Informatica - D. Talia - UNICAL 1 Algebra di Boole E un algebra basata su tre operazioni logiche OR AND NOT Ed operandi che possono

Dettagli

AXO Architettura dei Calcolatori e Sistema Operativo. processo di assemblaggio

AXO Architettura dei Calcolatori e Sistema Operativo. processo di assemblaggio AXO Architettura dei Calcolatori e Sistema Operativo processo di assemblaggio linguaggio assembly è il linguaggio simbolico che consente di programmare un calcolatore utilizzando le istruzioni del linguaggio

Dettagli

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1 IMPLEMENTAZIONE DEL FILE SYSTEM 9.1 Implementazione del File System Struttura del File System Implementazione Implementazione delle Directory Metodi di Allocazione Gestione dello spazio libero Efficienza

Dettagli

Linguaggio C. Fondamenti. Struttura di un programma.

Linguaggio C. Fondamenti. Struttura di un programma. Linguaggio C Fondamenti. Struttura di un programma. 1 La storia del Linguaggio C La nascita del linguaggio C fu dovuta all esigenza di disporre di un Linguaggio ad alto livello adatto alla realizzazione

Dettagli

Il File System. Il file system

Il File System. Il file system Il File System Il file system Parte di SO che fornisce i meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate in memoria di massa Realizza i concetti astratti di file:

Dettagli

Manuale Terminal Manager 2.0

Manuale Terminal Manager 2.0 Manuale Terminal Manager 2.0 CREAZIONE / MODIFICA / CANCELLAZIONE TERMINALI Tramite il pulsante NUOVO possiamo aggiungere un terminale alla lista del nostro impianto. Comparirà una finestra che permette

Dettagli

Ing. Paolo Domenici PREFAZIONE

Ing. Paolo Domenici PREFAZIONE Ing. Paolo Domenici SISTEMI A MICROPROCESSORE PREFAZIONE Il corso ha lo scopo di fornire i concetti fondamentali dei sistemi a microprocessore in modo semplice e interattivo. È costituito da una parte

Dettagli

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU Lezione n.7 Il moltiplicatore binario e il ciclo di base di una CPU 1 SOMMARIO Architettura del moltiplicatore Architettura di base di una CPU Ciclo principale di base di una CPU Riprendiamo l analisi

Dettagli

Il Software. Il software del PC. Il BIOS

Il Software. Il software del PC. Il BIOS Il Software Il software del PC Il computer ha grandi potenzialità ma non può funzionare senza il software. Il software essenziale per fare funzionare il PC può essere diviso nelle seguenti componenti:

Dettagli

scada SCADA (Supervisory Control And Data Acquisition) L acronimo SCADA Scada e industria integrata

scada SCADA (Supervisory Control And Data Acquisition) L acronimo SCADA Scada e industria integrata SCADA (Supervisory Control And Data Acquisition) L acronimo SCADA L acronimo SCADA sta per Supervisory Control And Data Acquisition ed è nient altro che l enumerazione delle tre funzionalità principali

Dettagli

Access. Microsoft Access. Aprire Access. Aprire Access. Aprire un database. Creare un nuovo database

Access. Microsoft Access. Aprire Access. Aprire Access. Aprire un database. Creare un nuovo database Microsoft Access Introduzione alle basi di dati Access E un programma di gestione di database (DBMS) Access offre: un supporto transazionale limitato Meccanismi di sicurezza, protezione di dati e gestione

Dettagli

Corso di Sistemi di Elaborazione delle informazioni

Corso di Sistemi di Elaborazione delle informazioni Corso di Sistemi di Elaborazione delle informazioni Sistemi Operativi Francesco Fontanella Complessità del Software Software applicativo Software di sistema Sistema Operativo Hardware 2 La struttura del

Dettagli

Introduzione ai tipi di dato astratti: applicazione alle liste

Introduzione ai tipi di dato astratti: applicazione alle liste Universitàdegli Studi di L Aquila Facoltàdi Scienze M.F.N. Corso di Laurea in Informatica Corso di Laboratorio di Algoritmi e Strutture Dati A.A. 2005/2006 Introduzione ai tipi di dato astratti: applicazione

Dettagli

Il file system. meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate. in memoria di massa

Il file system. meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate. in memoria di massa Il File System 1 Il file system E quella componente del SO che fornisce i meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate in memoria di massa Realizza i concetti astratti

Dettagli

Powered by: Relators:

Powered by: Relators: Powered by: Hacking Group Como www.hgcomo.org Relators: Beretta Matteo, matteo@hgcomo.org Pizzagalli Diego Ulisse ulisse@hgcomo.org Atmel AVR Studio 4 integra al suo interno un ambiente di programmazione

Dettagli

Lezione 1: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 10 Marzo 2014

Lezione 1: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 10 Marzo 2014 Lezione 1: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 10 Marzo 2014 Ricorda... Il ciclo di esecuzione di un istruzione è composto da sei fasi: FETCH DECODE ADDRESS

Dettagli

Dispensa di database Access

Dispensa di database Access Dispensa di database Access Indice: Database come tabelle; fogli di lavoro e tabelle...2 Database con più tabelle; relazioni tra tabelle...2 Motore di database, complessità di un database; concetto di

Dettagli

Le variabili di Visual Basic consentono di memorizzare temporaneamente valori durante

Le variabili di Visual Basic consentono di memorizzare temporaneamente valori durante Tiipii dii Datii iin Viisuall Basiic Le variabili di Visual Basic consentono di memorizzare temporaneamente valori durante l'esecuzione di un'applicazione. Alle variabili è associato un nome, utilizzato

Dettagli

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment Obiettivi d esame PHP Developer Fundamentals on MySQL Environment 1.0 Ambiente di sviluppo 1.1 Web server e database MySQL Comprendere la definizione dei processi che si occupano di fornire i servizi web

Dettagli

Cosa è un foglio elettronico

Cosa è un foglio elettronico Cosa è un foglio elettronico Versione informatica del foglio contabile Strumento per l elaborazione di numeri (ma non solo...) I valori inseriti possono essere modificati, analizzati, elaborati, ripetuti

Dettagli

Architettura (10/9/2003) Pag. 1/6. Cognome e Nome (in stampatello):

Architettura (10/9/2003) Pag. 1/6. Cognome e Nome (in stampatello): Architettura (10/9003) Pag. 1/6 Esame di Architettura (matr.0-1) del 10/9003 Per Fondamenti di Architettura NON rispondere Per le domande a risposta multipla cerchiare la risposta scelta. Non alle domande

Dettagli

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola

Dettagli

STRUTTURE DEI SISTEMI DI CALCOLO

STRUTTURE DEI SISTEMI DI CALCOLO STRUTTURE DEI SISTEMI DI CALCOLO 2.1 Strutture dei sistemi di calcolo Funzionamento Struttura dell I/O Struttura della memoria Gerarchia delle memorie Protezione Hardware Architettura di un generico sistema

Dettagli

Struttura logica di un programma

Struttura logica di un programma Struttura logica di un programma Tutti i programmi per computer prevedono tre operazioni principali: l input di dati (cioè l inserimento delle informazioni da elaborare) il calcolo dei risultati cercati

Dettagli

Automatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione

Automatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione Automatizzare i compiti ripetitivi I file batch Anno accademico 2000-01 1 Spesso capita di dover eseguire ripetutatmente una data sequenza di comandi Introdurli uno a uno da tastiera è un processo lento

Dettagli

Elementi di Informatica

Elementi di Informatica Università degli Studi di Udine Facoltà di Ingegneria CORSO DI LAUREA IN SCIENZE dell ARCHITETTURA Elementi di Informatica Algoritmi, e Programmi D. Gubiani 29 marzo 2010 D. Gubiani Algoritmi, e Programmi

Dettagli

Linguaggio del calcolatore. Algebra di Boole AND, OR, NOT. Notazione. And e or. Circuiti e reti combinatorie. Appendice A + dispense

Linguaggio del calcolatore. Algebra di Boole AND, OR, NOT. Notazione. And e or. Circuiti e reti combinatorie. Appendice A + dispense Linguaggio del calcolatore Circuiti e reti combinatorie ppendice + dispense Solo assenza o presenza di tensione: o Tante componenti interconnesse che si basano su e nche per esprimere concetti complessi

Dettagli

Oggetti Lezione 3. aspetti generali e definizione di classi I

Oggetti Lezione 3. aspetti generali e definizione di classi I Programmazione a Oggetti Lezione 3 Il linguaggio Java: aspetti generali e definizione di classi I Sommario Storia e Motivazioni Definizione di Classi Campi e Metodi Istanziazione di oggetti Introduzione

Dettagli

Gestione Turni. Introduzione

Gestione Turni. Introduzione Gestione Turni Introduzione La gestione dei turni di lavoro si rende necessaria quando, per garantire la continuità del servizio di una determinata struttura, è necessario che tutto il personale afferente

Dettagli

La tecnica proporzionale

La tecnica proporzionale La tecnica proporzionale Regolatori di pressione La tecnica proporzionale Regolatori di pressione La tecnica proporzionale La tecnica proporzionale Controllo direzione e flusso La tecnica proporzionale

Dettagli

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi Indice generale OOA Analisi Orientata agli Oggetti Introduzione Analisi Metodi d' analisi Analisi funzionale Analisi del flusso dei dati Analisi delle informazioni Analisi Orientata agli Oggetti (OOA)

Dettagli

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore Il processore Architettura dell elaboratore Il processore La esegue istruzioni in linguaggio macchina In modo sequenziale e ciclico (ciclo macchina o ciclo ) Effettuando operazioni di lettura delle istruzioni

Dettagli

Corso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa. Raccolta prove scritte. Prova scritta

Corso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa. Raccolta prove scritte. Prova scritta Corso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa Raccolta prove scritte Realizzare una classe thread Processo che deve effettuare un numero fissato di letture da una memoria

Dettagli

Corso di Calcolatori Elettronici I A.A. 2010-2011 Il processore Lezione 18

Corso di Calcolatori Elettronici I A.A. 2010-2011 Il processore Lezione 18 Corso di Calcolatori Elettronici I A.A. 2010-2011 Il processore Lezione 18 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Calcolatore: sottosistemi Processore o CPU (Central Processing

Dettagli

Procedure memorizzate SQL-2003/PSM. Forma base di PSM. Parametri in PSM

Procedure memorizzate SQL-2003/PSM. Forma base di PSM. Parametri in PSM Procedure memorizzate SQL-2003/PSM Procedure memorizzate nel database Programmazione general-purpose Leggere sezione 8.2 di Garcia-Molina et al. Lucidi derivati da quelli di Jeffrey D. Ullman 1 Una estensione

Dettagli

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Dettagli

I componenti di un Sistema di elaborazione. Memoria centrale. È costituita da una serie di CHIP disposti su una scheda elettronica

I componenti di un Sistema di elaborazione. Memoria centrale. È costituita da una serie di CHIP disposti su una scheda elettronica I componenti di un Sistema di elaborazione. Memoria centrale Memorizza : istruzioni dati In forma BINARIA : 10001010101000110101... È costituita da una serie di CHIP disposti su una scheda elettronica

Dettagli

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI Documenti su Internet LINGUAGGI DI MARKUP Internet permette (tra l altro) di accedere a documenti remoti In generale, i documenti acceduti via Internet sono multimediali, cioè che possono essere riprodotti

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T3 1-Sottoprogrammi 1 Prerequisiti Tecnica top-down Programmazione elementare 2 1 Introduzione Lo scopo di questa Unità è utilizzare la metodologia di progettazione top-down

Dettagli

Dati importati/esportati

Dati importati/esportati Dati importati/esportati Dati importati Al workspace MATLAB script Dati esportati file 1 File di testo (.txt) Spreadsheet Database Altro Elaborazione dati Grafici File di testo Relazioni Codice Database

Dettagli

Coordinazione Distribuita

Coordinazione Distribuita Coordinazione Distribuita Ordinamento degli eventi Mutua esclusione Atomicità Controllo della Concorrenza 21.1 Introduzione Tutte le questioni relative alla concorrenza che si incontrano in sistemi centralizzati,

Dettagli