Introduzione alla norma IEC

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Introduzione alla norma IEC 61131-3"

Transcript

1 -3 Marco Mauri Politecnico di Milano P.zza Leonardo da Vinci, 32 Tel Fax: Maggio Sommario delle lezioni Breve introduzione alla norma Elementi sintattici introduttivi (Common Elements) SFC (Sequential Function Chart) I linguaggi di programmazione IL (Instruction List) ST (Structured Text) LD (Ladder Diagram) FBD (Function Block Diagram) Maggio

2 Introduzione La norma IEC è una norma internazionale applicabile ai controllori programmabili (PC) Obiettivi della IEC 61131: Stabilire e identificare le principali caratteristiche dei PC e delle loro periferiche Specificare i requisiti minimi per le caratteristiche di funzionamento Definire una serie di linguaggi standard utilizzabili per la programmazione Fornire informazioni per l utente Definire le comunicazioni tra i PC e gli altri sistemi elettronici Maggio Struttura della norma Part 1: General Information (1992) Part 2: Equipment requirements and tests (1992) Part 3: Programmable Languages (1993) Part 4: User Guidelines (1995) Part 5: Messaging Service Specification (1998) Part 6: Communication via Fieldbus (-) Part 7: Fuzzy Control Programming (1997) Part 8: Guidelines for the Implementation of (1998) Languages for Programmable Controllers Maggio

3 Lo scopo Armonizzare il modo in cui differenti progettisti vedono il controllo. Aumentare il numero di persone in grado di capire un programma PLC. Aumentare la qualità, affidabilità e riusabilità del software Maggio IEC Programming languages Un linguaggio di programmazione rappresenta l interfaccia tra il programmatore e il sistema di controllo. In altre parole quello che vede sullo schermo Persone con formazione differente usano differenti approcci al controllo. La norma IEC fornisce il supporto adeguato per team con persone di differenti livelli o background Maggio

4 Il significato degli standard In te rn a tio n a l Standards National Standards Company Standards Past Present Future Lo sviluppo della tecnologia ha bisogno degli standard Maggio I benefici dello standard Riduce lo spreco di risorse umane (nel training, debugging, manutenzione e consulenza) Maggio

5 I benefici dello standard Riduce lo spreco di risorse umane (nel training, debugging, manutenzione e consulenza) Si focalizza sulla risoluzione dei problemi attraverso la riusabiltà del software (riduce investimento per le applicazioni e la dipendenza dai fornitori) Maggio I benefici dello standard Riduce lo spreco di risorse umane (nel training, debugging, manutenzione e consulenza) Si focalizza sulla risoluzione dei problemi attraverso la riusabiltà del software (riduce investimento per le applicazioni e la dipendenza dai fornitori) Riduce gli errori e le incomprensioni Maggio

6 I benefici dello standard Riduce lo spreco di risorse umane (nel training, debugging, manutenzione e consulenza) Si focalizza sulla risoluzione dei problemi attraverso la riusabiltà del software (riduce investimento per le applicazioni e la dipendenza dai fornitori) Riduce gli errori e le incomprensioni Definisce tecniche di programmazione utilizzabili in più ambienti (controlli industriali) Maggio I benefici dello standard Riduce lo spreco di risorse umane (nel training, debugging, manutenzione e consulenza) Si focalizza sulla risoluzione dei problemi attraverso la riusabiltà del software (riduce investimento per le applicazioni e la dipendenza dai fornitori) Riduce gli errori e le incomprensioni Definisce tecniche di programmazione utilizzabili in più ambienti (controlli industriali) Combina armonicamente differenti componenti provenienti da diversi compagnie,stati o progetti Maggio

7 I benefici dello standard Riduce lo spreco di risorse umane (nel training, debugging, manutenzione e consulenza) Si focalizza sulla risoluzione dei problemi attraverso la riusabiltà del software (riduce investimento per le applicazioni e la dipendenza dai fornitori) Riduce gli errori e le incomprensioni Definisce tecniche di programmazione utilizzabili in più ambienti (controlli industriali) Combina armonicamente differenti componenti provenienti da diversi compagnie,stati o progetti Aumenta la connettività Maggio I benefici dello standard Riduce lo spreco di risorse umane (nel training, debugging, manutenzione e consulenza) Si focalizza sulla risoluzione dei problemi attraverso la riusabiltà del software (riduce investimento per le applicazioni e la dipendenza dai fornitori) Riduce gli errori e le incomprensioni Definisce tecniche di programmazione Function "LIMIT" utilizzabili in più ambienti (controlli industriali) Combina armonicamente differenti componenti provenienti da diversi compagnie,stati o progetti Aumenta la connettività Function "TEST" Software Library Function Block "Turning" Function Block "Feeding" Function Block "Heating" Maggio

8 La norma IEC Common Elements Programming Languages Maggio I linguaggi di programmazione Structured Text (ST) : Linguaggio testuale di alto livello. Ha una sintassi simile al PASCAL IF SPEED1 > THEN Flow_rate := offest_a1; ELSE Flow_rate := 100.0; steam := ON END_IF Istruction List (IL) : Linguaggio testuale Assembler like di basso livello. LD R1 JMPC RESET LD PRESS1 ST MAX_PRESS RESET: LD 0 ST A_X Maggio

9 I linguaggi di programmazione Function Block Diagram (FBD) : Linguaggio grafico per raffigurare i segnali che entrano e escono dai function block High_press T#30s TON IN Q1 PT Over_press Ladder Diagram (LD) : Linguaggio grafico. Utilizza la logica a contatti SW1 SW2 OVR1 START R Maggio I linguaggi di programmazione Sequential Function Chart (SFC) : Linguaggio grafico per raffigurare il comportamento del sistema di controllo START N PUMPS Ready Vacuum S DEPRESS Checks N PRESS_CHK Maggio

10 La norma IEC Elementi sintattici introduttivi (Common Elements) Maggio Aspetti della presentazione Ci concentreremo su tutti gli aspetti sintattici che non sono strettamente legati a un particolare linguaggio Questi aspetti fanno parte della sezione della norma detta Common Elements Ci si concentra quindi su: gestione delle variabili, Data Types, Definizione della Configurazione, concetto di POU (Programming Organisation Units) e Function Blocks Maggio

11 Elementi introduttivi Il set di caratteri che è possibile usare è definito nello standard ISO 646 Basic Code Table Gli identificatori che devono essere usati nel linguaggio: Non ammettono come primo carattere un numero Non ci sono 2 o più caratteri di sottolineatura consecutivi Non sono ammessi spazi W123_PW W12_3PV atemp1 _PROG1 W123 PW W12 3PV 1aTemp Q%TY Maggio Elementi introduttivi I commenti possono essere inseriti in tutti i linguaggi della norma Non sono ammessi commenti annidati (* Activate pump *) (*************************) (* End of comments *) (*************************) Maggio

12 Tipi di dato SINT Short int. 8 bit -128 a +127 INT Integer 16 bit a DINT Double int. 32 bit a LINT Long int. 64 bit a USINT Unsigned sh. Int 8 bit 0 a 255 UINT Unsigned Int 16 bit 0 a UDINT Unsigned double Int 32 bit 0 a ULINT Unsigned long Int 64 bit 0 a Se un tipo di dato è ambiguo si può far precedere da un prefisso Esempio: INT# Maggio Tipi di dato REAL real number 32 bit ± 10 ±38 LREAL Long real number 64 bit ± 10 ±308 STRING Stringa di caratteri (i.d.) Stringhe di bit BOOL BYTE WORD DWORD LWORD stringa di 1 bit stringa di 8 bit stringa di 16 bit stringa di 32 bit stringa di 64 bit Maggio

13 Tipi di dato Durata TIME time duration (i.d.) es: T#12d3h3s36ms Data e orario DATE data (i.d.) TIME_OF_DAY ora (i.d) DATE_AND_TIME data e ora (i.d.) es: D# TOD#10:10:30 DT# :15: Maggio Tipi di dato La norma definisce per ogni tipo di dato un valore iniziale Per i tipi standard: 0 per tutti i valori numerici stringa vuota per le stringhe per le date Nella dichiarazione di una variabile è comunque possibile sovrascrivere il valore iniziale di default del tipo Maggio

14 Tipi di dato Si possono definire alcuni tipi derivati Semplici Structured data types Enumerated data types Sub-ranges data types Array data types Per i tipi derivati si possono definire valori iniziali che modificano il valore di default definito dalla norma Maggio Tipo di dato - DERIVATI TYPE PRESSURE: REAL := 1.0 END_TYPE Tipo derivato semplice TYPE PRESSURE SENSOR: Tipo derivato strutturato STRUCT INPUT: PRESSURE := 2.0; STATUS: BOOL:= 0; CALIBRATION: DATE := DT# ; HIGH_LIMIT: REAL := 30.0; ALARM_COUNT: INT := 0; END_STRUCT END_TYPE Maggio

15 Tipo di dato - DERIVATI TYPE DEVICE_MODE: Tipo derivato enumerativo (INITIALISING, RUNNING, STANDBY, FAULTY):= STANDBY; END_TYPE TYPE MOTOR_VOLTS: INT( ); END_TYPE Tipo derivato subrange TYPE VESSEL_PRESS_DATA: ARRAY[1..20] OF PRESSURE END_TYPE Tipo derivato array Maggio Variabili La norma definisce un vasto set di tipi di variabili ma ammette anche la definizione di nuovi tipi da parte dell utente Si possono poi individuare poi diverse categorie secondo cui organizzare i vari tipi di variabili Maggio

16 Variabili All inizio di ogni POU è possibile dichiarare nuove variabili Le variabili locali, cioè visibili solo all interno della POU, sono dichiarate utilizzando la keyword VAR VAR vel : REAL; allarme: BOOL; Maggio Variabili Variabili di ingresso: variabili che consentono alle POU di ricevere dati dall esterno VAR_INPUT ERRORE: REAL; VAL_MASSIMO: REAL; Variabili di uscita: variabili che consentono di alle POU di scambiare dati con l esterno VAR_OUTPUT POSIZIONE_VALVOLA: BOOL; Maggio

17 Variabili Alcune variabili possono sia essere in ingresso che poi essere il risultato dell elaborazione della POU. Si parla allora di input_output variables VAR_IN_OUT STATO: REAL; Sono variabili globali quelle definite a livello di configuration, resource, o program VAR_GLOBAL CONTATORE: INT; Maggio Variabili E possibile definire delle variabili external per accedere a variabili globali definite a livello di configurazione VAR_EXTERNAL CONTATORE: INT; E possibile definire delle variabili temporanee che vengono poste in un area temporanea della memoria (es. uno stack) VAR_TEMP RESULT : REAL Maggio

18 Variabili E poi anche possibile direttamente referenziare l allocazione in memoria %I100 (* Input memory bit 100 *) %IW122 (* Input memory word 122 *) %MW150 (* Memory location word 150 *) X Bit I Q M Locazione di memoria di input Locazione di memoria di output Memoria interna B W D L Byte (8bit) Word(16 bit) Double Word(32 bits) Long Word (64 bits) Maggio Variabili - ATTRIBUTI RETAIN : il valore di questa variabile viene mantenuto anche in mancanza di alimentazione del PLC VAR_OUT RETAIN Speed_profile: ARRAY[1..4] OF REAL; CONSTANT: la variabile non può essere modificata VAR CONSTANT Gear_ratio : SINT := 12; AT : serve ad allocare la variabile ad un preciso indirizzo VAR SCAN_DATA AT %IW10: ARRAY[1..8] OF SINT; Maggio

19 Il Modello Software Elementi sintattici introduttivi (Common Elements) Maggio Il modello software - CONFIGURATION Configuration Communication Function Maggio

20 Il modello software - CONFIGURATION La configurazione definisce il software per un PLC completo o di un sistema di controllo programmabile Una configurazione è specifica per un particolare tipo di PLC e per una particolare configurazione hardware che include: Risorse di calcolo (schede con certi tipi di microprocessore) Indirizzi di memoria per i canali di input o output Caratteristiche di sistema (es. numero max di task diversi ammissibili e tempo di esecuzione delle istruzioni) La definizione della configurazione comincia con la parola chiave CONFIGURATION e termina con la parola chiave END_CONFIGURATION Maggio Il modello software - CONFIGURATION CONFIGURATION unit_1_config VAR_GLOBAL G_speed_setpoint : REAL; G_RUNuP_Time : TIME; G_Log_Data : ARRAY[1..100] OF INT; RESOURCE Res1 ON Proc_386 VAR_GLOBAL ALARM_FLAG : BOOL; TASK IO_SCAN_TASK (INTERVAL:=t#100ms, PRIORITY:=0); TASK CONTROL_TASK (INTERVAL:=t#200ms, PRIORITY:=1); TASK PROG_TASK (INTERVAL:=t#400ms, PRIORITY:=2); PROGRAM turbine1 WITH PROG_TASK: turbine( speed_setpoint := G_speed_setpoint, runup_time := G_runUp_time, speed_pv := %ID200, loop1 WITH CONTROL_TASK, ramp1 WITH CONTROL_TASK, io_scanner1 WITH IO_SCAN_TASK); END_RESOURCE RESOURCE Res2 ON Proc_ END_RESOURCE VAR_ACCESS END_CONFIGURATION Maggio

21 Il modello software - RESOURCE Configuration Resource Resource Communication Function Maggio Il modello software - RESOURCE Una risorsa definisce il supporto per l esecuzione dei programmi IEC. Una risorsa è definita all interno di una configurazione usando la parola RESOURCE seguita da un identificatore e dal tipo di processore sulla quale la risorsa deve essere caricata. La definizione di risorsa contiene la definizione di: Variabili globali Acces path ovvero le variabili che permettono l accesso remoto Programmi Task e function blocks La definizione è conclusa dalla parola chiave END_RESOURCE Maggio

22 Il modello software - TASK Configuration Resource Resource Task Task Task Task Communication Function Maggio Il modello software - TASK Generalmente le differenti parti di un programma sono eseguite a differenti velocità determinate dalle caratteristiche del sistema. La dichiarazione di una task è introdotta dalla parola chiave TASK, dall identificatore della task e dal valore dei seguenti parametri: Parametro Tipo Descrizione SINGLE BOOL Passando da 0 a 1 causa l esecuzione del task una volta sola INTERVAL PRIORITY TIME UINT Il periodo che passa tra due esecuzioni successive La priorità del task. 0 è la più alta Maggio

23 Il modello software - TASK Esempio di dichiarazione dei task: TASK IO_SCAN_TASK (INTERVAL:=t#100ms, PRIORITY:=0); TASK CONTROL_TASK (INTERVAL:=t#200ms, PRIORITY:=1); TASK PROG_TASK (SINGLE := LogFlag, PRIORITY:=2); Maggio Il modello software - SCHEDULING Non-preemptive Scheduling: quando un task è in esecuzione non può essere interrotto. Al termine viene eseguito il task in attesa a priorità più alta. E possibile che alcuni task non vengano eseguiti La progettazione di un sistema di questo tipo è molto più facile Ha caratteristiche scarse per creare controlli stabili Preemptive Scheduling: i task a priorità più bassa possono essere interrotti da task ad alta priorità che sono pronti per l esecuzione E adatto ai sistemi di controllo in cui è necessario che alcuni algoritmi vengano eseguiti in istanti regolari e precisi Maggio

24 Il modello software - SCHEDULING Non-preemptive Scheduling Task A, Priority 0,Interval 100ms Task B, Priority 1,Interval 200ms Task C, Priority 2,Interval 300ms Preemptive Scheduling Task C interrotto Maggio Il modello software - PROGRAM Configuration Resource Resource Task Task Task Task Program Program Program Program Communication Function Maggio

25 Il modello software - PROGRAM Il concetto di programma è quello di un blocco software di considerevoli dimensioni (ad es.il controllo di una parte dell impianto) Può contenere la dichiarazione di variabili globali e ad allocazione fissa Può anche fare riferimento ad access variables Non può contenere istanze di altri programmi Può contenere istanze di Function Blocks che possono essere eseguiti da task diversi Il corpo del programma può essere definito con uno dei linguaggi definiti dalla norma Maggio Il modello software - PROGRAM La definizione è introdotta con le parole chiave PROGRAM e END_PROGRAM L istanza di un programma può operare utilizzando come variabili di ingresso variabili dichiarate a livello di risorsa o globali Può anche avere come ingresso variabili che sono state dichiarate ad allocazione fissa Maggio

26 Il modello software - PROGRAM PROGRAM fermeter VAR_INPUT Reagent_Code : INT; Sterilise : BOOL; FermentPeriod : TIME; VAR_OUTPUT Yield : REAL; Status : WORD; VAR Ph_loop, Temp_Loop : PID; Phase : INT :=1; END_PROGRAM Maggio Il modello software - FB Configuration Resource Task Task Resource Task Task Variable access path FB Function Block Program Program FB FB Program Program FB FB Variable Global and direct variables Access path Execution control path Communication Function Maggio

27 Il modello software - FB Un FUNCTION BLOCK (FB) è caratterizzato da: variabili di ingresso variabili di uscita variabili locali variabili locali che identificano il suo stato un algoritmo espresso utilizzando uno dei linguaggi permessi dalla norma Le variabili interne del FB non sono accessibili dall esterno E possibile accedere ai valori correnti delle variabili di ingresso e uscita di un FB Maggio Il modello software - FB Si deve distinguere tra dichiarazione e istanziazione del FB Istanze di un FB possono essere usate all interno di altri FB Le istanze sono dichiarate come dichiarazione di variabili Un istanza può essere passata ad un altra POU come parametro La norma definisce una serie di FB standard che dovrebbero essere presenti in ogni sw. Possono essere definiti dei FB dall utente Maggio

28 Il modello software FB: un esempio FUNCTION_BLOCK COUNTER VAR_INPUT MODE: Mode_Type := RESET; VAR_OUTPUT OUT : INT := 0; (* Definizione dell algoritmo *) IF MODE = RESET THEN OUT:=0; ELSEIF MODE = COUNT THEN OUT := OUT + 1; END_IF; END_FUNCTION_BLOCK TYPE Mode_Type: (RESET, COUNT, HOLD) := RESET; END_TYPE Istanziazione: ModeType MODE COUNTER VAR C1 : COUNTER; ecc. OUT Maggio Il modello software FUNCTION Spesso le FUNCTION sono scambiate per FB Una FUNCTION è un elemento software che con un particolare set di input produce un risultato primario. (ad es. la funzione SIN()) Le FUNCTION a differenza dei FB non hanno uno stato interno: producono sempre lo stesso risultato per medesimi ingressi. Una funzione ha solo un output (per controllare il flusso dati nei linguaggi grafici ci sono un input e output addizionali, EN ed ENO) Maggio

29 Il modello software FUNCTION Calc EN Add ENO EN Sqrt ENO Done A1 B1 X1 Controllo flusso dati Un emendamento del 1993 consente anche ai FB di avere a disposizione gli ingressi e uscite addizionali EN e ENO Maggio Il modello software FUNCTION I parametri ad una funzione possono essere passati by reference usando la parola chiave VAR_IN_OUT E consentito l overload delle FUNCTION. Per prodotti PLC che non supportano questa funzionalità lo standard specifica di far seguire al nome della funzione il tipo trattato (es. SQRT_REAL o SQRT_LREAL) La norma specifica un insieme di FUNCTION standard che ogni programma commerciale dovrebbe prevedere Maggio

30 Il modello software FUNCTION Quando una funzione deve essere chiamata (in ST) il nome del parametro deve essere specificato: Esempio: FUNCTION AVE_REAL : REAL VAR_INPUT INPUT1, INPUT2 : REAL AVE_REAL := (INPUT1 + INPUT2)/2 END_FUNCTION AVE1 = AVE_REAL( INPUT1 := 3.1, INPUT2 := 10.0 ) Molte delle funzioni standard non hanno dei nomi dei parametri formali e quindi possono essere chiamate semplicemente con una lista di valori Maggio Il modello software - POU Lo standard definisce program, function blocks e function come Program Organisation Units (POU). Le POU sono componenti dal comportamento ripetitivo che possono essere usate in differenti parti di una applicazione Le POU incoraggiano la riusabilità del codice dal macro-livello con i program al micro-livello con le function A differenza dei linguaggi di alto livello, la IEC impedisce l utilizzo di POU ricorsive. Questo perché è difficile testare il software ricorsivo e non è predicibile il suo comportamento real-time. Program e Function blocks possono essere descritte con ST, IL, FBD, LD, SFC. Le function con ST, IL, FBC, LD Maggio

31 Il modello software - POU Tipo Replicata come : Program Function Blocks Function Istanza di programma Istanza di un Function block Funzione Fornisce un riutilizzo del software ad alto livello (es. il controllo di una caldaia) Strumento per il riutilizzo del codice degli algoritmi di controllo (es. PID) Elaborazione di dati frequentemente utilizzata (es. SIN) Maggio Il modello software DIFFERENZE Configuration Resource Resource Variable access path Task Task Task Task FB Function Block Program Program FB FB Program Program FB FB Variable Global and direct variables Access path Execution control path Communication Function Maggio

32 Il modello software DIFFERENZE La struttura tradizionale di un PLC era composta da una unica risorsa, un unico task e un unico programma. La struttura proposta dalla norma è molto più generale e si può applicare anche a sistemi molto evoluti. Configuration Program Resource PLC singolo Maggio Il modello software - MAPPING Multi processor PLC PLC distribuiti su una rete ad alta velocità Configuration Program Resource Maggio

33 Il modello software APPLICAZIONE Il concetto di APPLICAZIONE non è definito nella norma, ma è una importante parte del modello software se consideriamo PLC che sono in grado di controllare diversi parti del sistema. Un applicazione ad esempio potrebbe includere tutti i controlli necessari per lo start-up o lo shut-down di una parte del sistema Le applicazioni possono essere eseguite indipendentemente solo se caricate su differenti RESOURCE Maggio Il modello software APPLICAZIONE Configuration Resource Resource Resource Resource Program Program Program Program Program Application A Application B Application C Maggio

34 GLOBAL INPUT INPUT OUTPUT IN_OUT EXTERNAL Una progettazione gerarchica Start : BOOL; Emergency : BOOL; Limit : INT; Automation application PROGRAM Type Local FUNCTION_BLOCK Type Local FUNCTION Type Local Maggio

Programmable Logic Controller Seconda Parte

Programmable Logic Controller Seconda Parte Programmable Logic Controller Seconda Parte Sistemi per l automazione industriale Stefano Maggi Marco Bassetti Dipartimento di Elettrotecnica lunedì 10 novembre 2008 Contenuti Principio di funzionamento

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

IEC PLCopen per l'efficienza nel campo dell'automazione IEC. Standard lo standard di programmazione industriale.

IEC PLCopen per l'efficienza nel campo dell'automazione IEC. Standard lo standard di programmazione industriale. IEC 61131-3 Standard Versione 2.1, settembre 2006 PLCopen 2006 Page 1 of 38 Indice dei contenuti Vantaggi della IEC61131-3 per i programmatori Storia degli standard internazionali 1970-1995 Le 7 parti

Dettagli

Standard IEC 1131 Lo standard dei PLC

Standard IEC 1131 Lo standard dei PLC Standard IEC 1131 Lo standard dei PLC Lo standard IEC 1131 è diviso in diverse parti: Parte 1: Informazioni Generali Parte 2: Requisiti e test dei dispositivi Parte 3: Linguaggi di Programmazione Parte

Dettagli

Function Block Diagram

Function Block Diagram Function Block Diagram Marco Mauri Politecnico di Milano P.zza Leonardo da Vinci, 32 22-23 Maggio 2001 1 Sommario Struttura del linguaggio e notazioni grafiche Come esprimere espressioni semplici e complesse

Dettagli

Corso di Automazione industriale

Corso di Automazione industriale Corso di Automazione industriale Lezione 2 PLC - Introduzione Università degli Studi di Bergamo, Automazione Industriale, A.A. 2016/2017, A. L. Cologni 1 Cos è un PLC PLC: Programmable Logic Controller

Dettagli

Corso di Automazione industriale

Corso di Automazione industriale Corso di Automazione industriale Lezione 2 PLC - Introduzione Università degli Studi di Bergamo, Automazione Industriale, A.A. 2018/2019, M. Ermidoro 1 Cos è un PLC PLC: Programmable Logic Controller Unità

Dettagli

Structured Text. Structured Text. Marco Mauri. Politecnico di Milano P.zza Leonardo da Vinci, Maggio

Structured Text. Structured Text. Marco Mauri. Politecnico di Milano P.zza Leonardo da Vinci, Maggio Structured Text Marco Mauri Politecnico di Milano P.zza Leonardo da Vinci, 32 22-23 Maggio 2001 1 Sommario La struttura del linguaggio Come assegnare un valore ad una variabile Come creare espressioni

Dettagli

UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO II

UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO II UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO II DIPARTIMENTO DI INGEGNERIA ELETTRICA E DELLE TECNOLOGIE DELL INFORMAZIONE LAUREA TRIENNALE CORSO DI STUDI IN INGEGNERIA INFORMATICA Tecnologie informatiche

Dettagli

STANDARD IEC PRIMA PARTE Introduzione SECONDA PARTE Elementi comuni TERZA PARTE Linguaggi di programmazione

STANDARD IEC PRIMA PARTE Introduzione SECONDA PARTE Elementi comuni TERZA PARTE Linguaggi di programmazione STANDARD IEC 61131 PRIMA PARTE Introduzione SECONDA PARTE Elementi comuni TERZA PARTE Linguaggi di programmazione 1 - Introduzione Un sistema di controllo di processi industriali deve avere tre caratteristiche

Dettagli

id the business magazine for humans

id the business magazine for humans PLC: lo standard IEC61131-3 IEC 61131-3 è l unico standard mondiale per la programmazione del controllo industriale. Quali sono I vantaggi per l utilizzatore? the business magazine for humans Difficoltà

Dettagli

Istruction List. Istruction List. Marco Mauri. Politecnico di Milano P.zza Leonardo da Vinci, Maggio

Istruction List. Istruction List. Marco Mauri. Politecnico di Milano P.zza Leonardo da Vinci, Maggio Marco Mauri Politecnico di Milano P.zza Leonardo da Vinci, 32 22-23 Maggio 2001 1 Sommario La struttura base del linguaggio Il comportamento degli operatori standard Come utilizzare le istruzioni di salto

Dettagli

Orchestra Control. Caso di Studio Scambiatore Pezzi SPI

Orchestra Control. Caso di Studio Scambiatore Pezzi SPI POLITECNICO DI MILANO V Facoltà di Ingegneria Orchestra Control Caso di Studio Scambiatore Pezzi SPI Sistemi ad Eventi Discreti A.A. 2010-2011 Sommario Orchestra Control Scambiatore pezzi Controllo Modulare

Dettagli

Corso di Automazione industriale

Corso di Automazione industriale Corso di Automazione industriale Lezione 7 PLC Testo strutturato Università degli Studi di Bergamo, Automazione Industriale, A.A. 2017/2018, A. L. Cologni 1 Introduzione Il Testo strutturato è il linguaggio

Dettagli

VARIABLES. Project : ArduinoLCD VARIABLES : Release : LCDMessage. Ver :1.00. Author : Sergio Bertana. Date:18/02/2014. Note : Page:1 of 1

VARIABLES. Project : ArduinoLCD VARIABLES : Release : LCDMessage. Ver :1.00. Author : Sergio Bertana. Date:18/02/2014. Note : Page:1 of 1 VARIABLES VAR_GLOBAL Day : USINT; (* Valore giorno *) Month : USINT; (* Valore mese *) Year : USINT; (* Valore anno *) Hour : USINT; (* Valore ora *) Minute : USINT; (* Valore minuti *) Second : USINT;

Dettagli

Standard IEC 1131 Lo standard dei PLC

Standard IEC 1131 Lo standard dei PLC Standard IEC 1131 Lo standard dei PLC Lo standard IEC 1131 è diviso in diverse parti: Parte 1: Informazioni Generali Parte 2: Requisiti e test dei dispositivi Parte 3: Linguaggi di Programmazione Parte

Dettagli

POLITECNICO DI MILANO. V Facoltà di Ingegneria P L C IEC Programmable Logic Controller. Sistemi ad eventi Discreti

POLITECNICO DI MILANO. V Facoltà di Ingegneria P L C IEC Programmable Logic Controller. Sistemi ad eventi Discreti POLITECNICO DI MILANO V Facoltà di Ingegneria P L C IEC61131 Programmable Logic Controller Sistemi ad eventi Discreti Sommario Hardware di base Architettura OS & Funz. IEC61131 Hardware di base Architettura

Dettagli

unità di organizzazione della programmazione

unità di organizzazione della programmazione Introduzione Organizzazione del software Lo standard prevede alcuni elementi comuni che prescindono dall effettivo linguaggio (o insieme di linguaggi) i) utilizzato per la programmazione Le variabili,

Dettagli

LA PROGRAMMAZIONE DEL PLC /1

LA PROGRAMMAZIONE DEL PLC /1 LA PROGRAMMAZIONE DEL PLC /1 Per programmare correttamente un PLC è necessario... determinare ciò che il sistema deve eseguire ed in quale ordine; determinare il numero e il tipo di I/O (ingressi/uscite)

Dettagli

Laboratorio di Programmazione(corso A) Laurea in Informatica - A.A. 2000/2001 Docente: A. Lanza

Laboratorio di Programmazione(corso A) Laurea in Informatica - A.A. 2000/2001 Docente: A. Lanza Laboratorio di Programmazione(corso A) Laurea in Informatica - A.A. 2000/2001 Docente: A. Lanza 1.1. Introduzione al linguaggio Pascal Struttura di programma Elementi lessicali: le parole riservate e gli

Dettagli

Capitolo 5 - Funzioni

Capitolo 5 - Funzioni Capitolo 5 - Funzioni Divide and conquer Introduzione Costruire un programma da pezzi più piccoli o da singole componenti Questi pezzi più piccoli sono chiamati moduli Ogni singolo pezzo è più facilmente

Dettagli

PLC e SCADA, Sect.3. Programmable Logic Controller Programming

PLC e SCADA, Sect.3. Programmable Logic Controller Programming PLC e SCADA, Sect.3 Alessandra Flammini alessandra.flammini@unibs.it Ufficio 24 Dip. Ingegneria dell Informazione 030-3715627 Lunedì 16:30-18:30 Programmable Logic Controller Programming PLC e SCADA, A.

Dettagli

PREMESSA In questa lezione analizziamo le diverse modalità di programmazione del PLC, soffermandoci in particolare sulle programmazioni KOP e AWL.

PREMESSA In questa lezione analizziamo le diverse modalità di programmazione del PLC, soffermandoci in particolare sulle programmazioni KOP e AWL. PREMESSA In questa lezione analizziamo le diverse modalità di programmazione del PLC, soffermandoci in particolare sulle programmazioni KOP e AWL. MODALITA DI PROGRAMMAZIONE DEI PLC Durante il processo

Dettagli

Dispositivi per il controllo

Dispositivi per il controllo Dispositivi per il controllo ordini di comando PARTE DI COMANDO PARTE DI POTENZA Controllori monolitici Controllori con architettura a bus Controllori basati su PC informazioni di ritorno PLC (Programmable

Dettagli

Funzioni, Stack e Visibilità delle Variabili in C

Funzioni, Stack e Visibilità delle Variabili in C Funzioni, Stack e Visibilità delle Variabili in C Programmazione I e Laboratorio Corso di Laurea in Informatica A.A. 2016/2017 Calendario delle lezioni Lez. 1 Lez. 2 Lez. 3 Lez. 4 Lez. 5 Lez. 6 Lez. 7

Dettagli

VARIABLES. VAR_GLOBAL Di00M00 : BOOL; Di01M00 : BOOL; Do00M00 : BOOL; Do01M00 : BOOL; Start : BOOL; (* Test baud rate start *) END_VAR

VARIABLES. VAR_GLOBAL Di00M00 : BOOL; Di01M00 : BOOL; Do00M00 : BOOL; Do01M00 : BOOL; Start : BOOL; (* Test baud rate start *) END_VAR VARIABLES VAR_GLOBAL Di00M00 : BOOL; Di01M00 : BOOL; Do00M00 : BOOL; Do01M00 : BOOL; Start : BOOL; (* Test baud rate start *) VARIABLES : Page:1 of 1 PROGRAM SCommunication VAR Fp : ARRAY[ 0..1 ] OF FILEP;

Dettagli

Tecnologie dei Sistemi di Automazione

Tecnologie dei Sistemi di Automazione Facoltà di Ingegneria Tecnologie dei Sistemi di Automazione Prof. Gianmaria De Tommasi Introduzione al tool UniSim Corso di Laurea Codice insegnamento Email docente Anno accademico Ingegneria dell automazione

Dettagli

TIA Portal V12. Novità di programmazione nell S Siemens AG All Rights Reserved.

TIA Portal V12. Novità di programmazione nell S Siemens AG All Rights Reserved. TIA Portal V12 Novità di programmazione nell S7-1500 Novità di programmazione nell S7-1500 Introduzione Novità comuni a tutti i linguaggi KOP/FUP AWL SCL GRAPH Introduzione Blocchi disponibili Nome del

Dettagli

Boccaccio HOMEPLC. 18 October 2008

Boccaccio HOMEPLC. 18 October 2008 Boccaccio HOMEPLC 18 October 2008 Di che si tratta Concetto innovativo, nato in Italia, che è sinonimo di Controllore Logico Programmabile (PLC) per l'home Automation (Domotica), caratterizzato da un sistema

Dettagli

DISPENSE DI PROGRAMMAZIONE LINGUAGGI A TIPIZZAZIONE FORTE: IL COSTRUTTO DI TIPO. TIPI SEMPLICI: TIPI PRE-DEFINITI E TIPI DEFINITI DAL PROGRAMMATORE.

DISPENSE DI PROGRAMMAZIONE LINGUAGGI A TIPIZZAZIONE FORTE: IL COSTRUTTO DI TIPO. TIPI SEMPLICI: TIPI PRE-DEFINITI E TIPI DEFINITI DAL PROGRAMMATORE. DISPENSE DI PROGRAMMAZIONE Modulo 3 Linguaggi di programmazione: dati e controllo (Parte I) LINGUAGGI A TIPIZZAZIONE FORTE: IL COSTRUTTO DI TIPO. TIPI SEMPLICI: TIPI PRE-DEFINITI E TIPI DEFINITI DAL PROGRAMMATORE.

Dettagli

Funzioni, Stack e Visibilità delle Variabili in C

Funzioni, Stack e Visibilità delle Variabili in C Funzioni, Stack e Visibilità delle Variabili in C Laboratorio di Programmazione I Corso di Laurea in Informatica A.A. 2018/2019 Argomenti del Corso Ogni lezione consta di una spiegazione assistita da slide,

Dettagli

Linguaggi di Programmazione

Linguaggi di Programmazione IEC 1131 Linguaggi di Programmazione Linguaggio a contatti (Ladder Diagram) Diagramma a blocchi funzionali (FBD) Diagramma sequenziale funzionale (SFC) Lista di istruzioni Testo strutturato Ladder Diagram

Dettagli

Reti e Sistemi per l Automazione LADDER LOGIC. Stefano Panzieri Ladder Logic - 1

Reti e Sistemi per l Automazione LADDER LOGIC. Stefano Panzieri Ladder Logic - 1 LADDER LOGIC Stefano Panzieri Ladder Logic - 1 Linguaggi di Programmazione IEC 1131 Linguaggio a contatti (Ladder Diagram) Diagramma a blocchi funzionali (FBD) Diagramma sequenziale funzionale (SFC) Lista

Dettagli

Programmable Logic Controller

Programmable Logic Controller POLITECNICO DI MILANO V Facoltà di Ingegneria P L C IEC61131 Programmable Logic Controller Automazione Industriale A.A. 2011-2012 Sommario Hardware di base Architettura OS e Funzionale La normativa IEC61131

Dettagli

Utilizza i tipi di dati comuni a tutto il framework.net Accesso nativo ai tipi.net (C# è nato con.net) Concetti fondamentali:

Utilizza i tipi di dati comuni a tutto il framework.net Accesso nativo ai tipi.net (C# è nato con.net) Concetti fondamentali: 1 Tipi di dati 1 Tipi di dati Utilizza i tipi di dati comuni a tutto il framework.net Accesso nativo ai tipi.net (C# è nato con.net) Concetti fondamentali: Tutto è un oggetto Tutto eredita implicitamente

Dettagli

ESERCITAZIONE Unità centrale di elaborazione Ciclo base di un istruzione Meccanismo di interruzione

ESERCITAZIONE Unità centrale di elaborazione Ciclo base di un istruzione Meccanismo di interruzione ESERCITAZIONE 8 Sommario Unità centrale di elaborazione Meccanismo di interruzione CPU-Memoria Architettura di una CPU Linguaggio macchina Modi di indirizzamento 1. Unità centrale di elaborazione L unità

Dettagli

Programming industrial control sytems using IEC

Programming industrial control sytems using IEC Programming industrial control sytems using IEC 1131-3 1 Capitolo 1 Controllo dell'esecuzione limitato...6 Difetti della programmazione Programmazione Ladder...5 IEC1131-3 Caratteristiche principali...6

Dettagli

Architettura degli. Assemblatore Nomenclatura MARS. Dott. Franco Liberati

Architettura degli. Assemblatore Nomenclatura MARS. Dott. Franco Liberati Architettura degli Elaboratori Assemblatore Nomenclatura MARS Dott. Franco Liberati Assemblatore Introduzione Argomenti della lezione Nomenclatura Registri Istruzioni e pseudoistruzioni Architettura degli

Dettagli

PLC CodeSys. Esercitazione 3. Automation Robotics and System CONTROL. Università degli Studi di Ferrara

PLC CodeSys. Esercitazione 3. Automation Robotics and System CONTROL. Università degli Studi di Ferrara Automation Robotics and System CONTROL Università degli Studi di Modena e Reggio Emilia Università degli Studi di Ferrara PLC CodeSys Esercitazione 3 Francesca Fanfoni francesca.fanfoni@unimore.it Indice

Dettagli

Settimana n.2. Obiettivi Esecuzione di un programma. Tutorial su CodeBlocks e ambiente di sviluppo.

Settimana n.2. Obiettivi Esecuzione di un programma. Tutorial su CodeBlocks e ambiente di sviluppo. Settimana n.2 Obiettivi Esecuzione di un programma. Tutorial su CodeBlocks e ambiente di sviluppo. Contenuti Linguaggi di programmazione Dati e istruzioni Architettura di un elaboratore Uso del compilatore

Dettagli

PLC. PROGRAMMABLE LOGIC CONTROLLER 2a parte CON RIFERIMENTO ALLE CPU SIEMENS ST 200 ED AL SW STEP 7 MICRO/WIN 32

PLC. PROGRAMMABLE LOGIC CONTROLLER 2a parte CON RIFERIMENTO ALLE CPU SIEMENS ST 200 ED AL SW STEP 7 MICRO/WIN 32 PLC PROGRAMMABLE LOGIC CONTROLLER 2a parte CON RIFERIMENTO ALLE CPU SIEMENS ST 200 ED AL SW STEP 7 MICRO/WIN 32 SOFTWARE DI PROGRAMMAZIONE NORMATIVA IEC1131-3 - 1993 SCHEMI SEQUENZIALI FUNZIONALI (SFC)

Dettagli

Variabili e Funzioni. Informatica 1 / 19

Variabili e Funzioni. Informatica 1 / 19 Variabili e Funzioni Informatica 1 / 19 Programmi C e Un programma C e composto da funzioni e variabili Variabile: memorizza valori appartenenti ad un insieme di definizione (dipendente dal tipo) Funzione:

Dettagli

Introduzione alla programmazione. Alice Pavarani

Introduzione alla programmazione. Alice Pavarani Introduzione alla programmazione Alice Pavarani Il linguaggio C Creato da Dennis Ritchie nel 1972 presso i Bell Laboratories Linguaggio di programmazione procedurale, strutturato Linguaggio ad alto livello

Dettagli

Nastro trasportatore con ribaltamento cassetta.

Nastro trasportatore con ribaltamento cassetta. Nastro trasportatore con ribaltamento cassetta. Il seguente progetto prevede il controllo di un nastro trasportatore (attraverso un PLC Siemens S71200 o S7-1500 programmato in LAD) in cui è presente un'isola

Dettagli

Il linguaggio C. Notate che...

Il linguaggio C. Notate che... Il linguaggio C Notate che... 1 Il C è un linguaggio a blocchi int main (void) { blocco } 2 Il C è un linguaggio a blocchi (2) Non è possibile mischiare dichiarazioni e comandi! int main (void) { } Dichiarazione

Dettagli

Sommario Introduzione La norma IEC 1131-3 ISaGRAF

Sommario Introduzione La norma IEC 1131-3 ISaGRAF Sommario Introduzione 6 1 La norma IEC 1131-3 8 1.1 Introduzione alle variabili e alle unità di organizzazione di programma 9 1.2 Dichiarazione di conformità alla norma 11 1.2.1 Conformità (1.5) 11 1.3

Dettagli

Dati due punti sul piano calcolare la loro distanza

Dati due punti sul piano calcolare la loro distanza Introduzione al C Primo esempio in C Dati due punti sul piano calcolare la loro distanza Soluzione: la distanza fra due punti si calcola secondo il teorema di Pitagora, con la formula: y Distanza = (lato12

Dettagli

Impianto per il comando automatico di un garage

Impianto per il comando automatico di un garage Impianto per il comando automatico di un garage Elaborato per il corso di Tecnologie per i Sistemi d'automazione, tenuto dal professor Iervolino R. per il corso di laurea in Ingegneria Informatica. Per

Dettagli

TIA PORTAL-SCL. Structured Control Language per Step7 V11. Orazio Vinci Siemens AG All Rights Reserved.

TIA PORTAL-SCL. Structured Control Language per Step7 V11. Orazio Vinci   Siemens AG All Rights Reserved. TIA PORTAL-SCL Structured Control Language per Step7 V11 Orazio Vinci E-mail : orazio.vinci@siemens.com Struttura della presentazione Introduzione Caratteristiche generali Ambiente di sviluppo e finestra

Dettagli

Istruzioni e linguaggio macchina

Istruzioni e linguaggio macchina Istruzioni e linguaggio macchina I linguaggi macchina sono composti da istruzioni macchina, codificate in binario, con formato ben definito processori diversi hanno linguaggi macchina simili scopo: massimizzare

Dettagli

Corso di programmazione Arduino DI MALVEZZI DAVIDE

Corso di programmazione Arduino DI MALVEZZI DAVIDE Corso di programmazione Arduino DI MALVEZZI DAVIDE Argomenti Pin digitali e pin analogici Gestione di timer e bottoni Utilizzo della porta seriale Oggetto String Controllo di schermi LCD Utilizzo dell

Dettagli

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi Corso di Calcolatori Elettronici I A.A. 2010-2011 Architettura di un calcolatore: introduzione Lezione 18 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Corso

Dettagli

Strutture Dati. Luca Abeni

Strutture Dati. Luca Abeni Strutture Dati Luca Abeni Dati e Tipi di Dati Una variabile è caratterizzata dal suo Tipo Specifica i valori che può assumere (Insieme di Definizione) Specifica a quanti byte di memoria la variabile è

Dettagli

Gestione dei processi nel sistema operativo Unix

Gestione dei processi nel sistema operativo Unix Gestione dei processi nel sistema operativo Unix (Bach: the Design of the Unix Operating System (cap: 6, 7, 8) 1 Argomenti Processi Strutture dati associate ai processi boot, init, shell Process Scheduling

Dettagli

Evoluzione del FORTRAN 14/03/2016. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 15 IL LINGUAGGIO FORTRAN

Evoluzione del FORTRAN 14/03/2016. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 15 IL LINGUAGGIO FORTRAN LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 15 IL LINGUAGGIO FORTRAN Marco Lapegna Dipartimento di Matematica e Applicazioni Universita degli Studi di Napoli Federico II wpage.unina.it/lapegna

Dettagli

Introduzione alla programmazione

Introduzione alla programmazione Introduzione alla programmazione Risolvere un problema Per risolvere un problema si procede innanzitutto all individuazione Delle informazioni, dei dati noti Dei risultati desiderati Il secondo passo consiste

Dettagli

Perché il P.L.C.? Introduzione di base al P.L.C. (Programmable Logic Controller) SAVE Veronafiere 23-25 Ottobre 2007

Perché il P.L.C.? Introduzione di base al P.L.C. (Programmable Logic Controller) SAVE Veronafiere 23-25 Ottobre 2007 Perché il P.L.C.? Introduzione di base al P.L.C. (Programmable Logic Controller) SAVE Veronafiere 23-25 Ottobre 2007 Argomenti trattati Cosa è un P.L.C.? Logica cablata (Relé) Logica con il P.L.C. Vantaggi

Dettagli

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. Excel VBA VBA Visual Basic for Application VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. 2 Prima di iniziare. Che cos è una variabile?

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

Elementi di Base. Introduzione a Python.

Elementi di Base. Introduzione a Python. Elementi di Base Introduzione a Python http://www.dia.uniroma3.it/~roselli/ roselli@dia.uniroma3.it Credits Materiale a cura del Prof. Franco Milicchio Panoramica Elementi di base della sintassi (struttura,

Dettagli

Strutture Dati. Nicu Sebe. Informatica Nicu Sebe 1 / 27

Strutture Dati. Nicu Sebe. Informatica Nicu Sebe 1 / 27 Strutture Dati Nicu Sebe Informatica Nicu Sebe 1 / 27 Dati e Tipi di Dati e Spazi Una variabile è caratterizzata dal suo Tipo Specifica i valori che può assumere (Insieme di Definizione) Specifica a quanti

Dettagli

Strutture dati e loro organizzazione. Gabriella Trucco

Strutture dati e loro organizzazione. Gabriella Trucco Strutture dati e loro organizzazione Gabriella Trucco Introduzione I linguaggi di programmazione di alto livello consentono di far riferimento a posizioni nella memoria principale tramite nomi descrittivi

Dettagli

21/09/2015 SISTEMI E RETI. Router Cisco. Parte 1 - Introduzione. A cura dell Ing. Claudio Traini

21/09/2015 SISTEMI E RETI. Router Cisco. Parte 1 - Introduzione. A cura dell Ing. Claudio Traini SISTEMI E RETI Router Cisco Parte 1 - Introduzione A cura dell Ing. Claudio Traini 1 router sottoreti terminali Funzioni svolte dai Router I Router consentono l interconnessione tra sottoreti diverse I

Dettagli

Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova.

Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Programmi applicativi Un programma applicativo (o applicativo) è un eseguibile che può essere utilizzato dall utente e che ha funzionalità di alto livello (word processor, spreadsheet, DBMS) Univ. Milano-Bicocca

Dettagli

Capitolo IV. La struttura dei Programmi

Capitolo IV. La struttura dei Programmi Capitolo IV La struttura dei Programmi Frasi del linguaggio Tutti i linguaggi di alto livello prevedono quattro tipologie di frasi diverse: le dichiarazioni con le quali il programmatore da ordini al traduttore

Dettagli

Modi di indirizzamento parte 1. Modello di programmazione del processore MC68000

Modi di indirizzamento parte 1. Modello di programmazione del processore MC68000 Corso di Calcolatori Elettronici I A.A. 2010-2011 Modi di indirizzamento parte 1 Lezione 21 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Corso di Laurea in

Dettagli

Rappresentazione dell informazione

Rappresentazione dell informazione Rappresentazione dell informazione Codifica dei numeri Rappresentazioni in base 2, 8, 10 e 16 Rappresentazioni M+S, C1 e C2 Algoritmi di conversione di base Algoritmi di somma, moltiplicazione e divisione

Dettagli

15 April LABORATORIO 04 PROCEDURE STACK. CHIAMATA A PROCEDURE I. Frosio

15 April LABORATORIO 04 PROCEDURE STACK. CHIAMATA A PROCEDURE I. Frosio 15 April 2011 05 LABORATORIO 04 PROCEDURE STACK CHIAMATA A PROCEDURE I. Frosio 1 SOMMARIO Procedure Stack Chiamata a procedure 2 PERCHÈ LE PROCEDURE? 15 April 2011 Main Proc3 Proc2 Proc1 Programmazione

Dettagli

Linguaggi e Ambienti di Programmazione

Linguaggi e Ambienti di Programmazione Linguaggi e Ambienti di Programmazione Principi e tecniche diffuse che si incontrano spesso nelle applicazioni dell informatica. Compilatori Editor di struttura: riceve in input una sequenza di comandi

Dettagli

Fetch Decode Execute Program Counter controllare esegue prossima

Fetch Decode Execute Program Counter controllare esegue prossima Stored Program Istruzioni sono stringhe di bit Programmi: sequenze di istruzioni Programmi (come i dati) memorizzati in memoria La CPU legge le istruzioni dalla memoria (come i dati) Ciclo macchina (ciclo

Dettagli

Linguaggi di programmazione

Linguaggi di programmazione Linguaggi di programmazione Problema Algoritmo Programma Progettista Programmatore Progetto Programma Esecutore Computer Comittente Utente Dal problema all algoritmo Problema Risolutore ed esecutore Algoritmo

Dettagli

Controllori a Logica Programmabile. Cos è un PLC? Cenni storici. Cenni storici. Cenni storici. Definizione dallo Standard IEC 61131

Controllori a Logica Programmabile. Cos è un PLC? Cenni storici. Cenni storici. Cenni storici. Definizione dallo Standard IEC 61131 Controllori a Logica mabile Nella presente lezione vedremo le caratteristiche principali del controllore a logica programmabile (in inglese, mable Logic Controller, o PLC). In particolare, ci soffermeremo

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

ITI M. FARADAY. Programmazione a. s

ITI M. FARADAY. Programmazione a. s ITI M. FARADAY Programmazione a. s. 2018-2019 Disciplina: INFORMATICA Indirizzo: INFORMATICA E TELECOMUNICAZIONI Classi: Terza A Terza B Ore settimanali previste: 6 (3 ora Teoria - 3 ore Laboratorio) Docenti:

Dettagli

Fortran. Funzioni e Subroutine.

Fortran. Funzioni e Subroutine. Fortran Funzioni e Subroutine http://www.dia.uniroma3.it/~roselli/ roselli@dia.uniroma3.it Credits Materiale a cura del Prof. Franco Milicchio Introduzione Dal Fortran II del 1958, Fortran consente di

Dettagli

Il linguaggio C. Notate che...

Il linguaggio C. Notate che... Il linguaggio C Notate che... 1 Il C è un linguaggio a blocchi int main (void) { blocco } 2 Il C è un linguaggio a blocchi (2) Non è possibile mischiare dichiarazioni e comandi! int main (void) { } Dichiarazione

Dettagli

Docenti Marco Cirrito, Pier Luigi Girelli. Disciplina. OBIETTIVI MINIMI (necessari al passaggio alla classe successiva)

Docenti Marco Cirrito, Pier Luigi Girelli. Disciplina. OBIETTIVI MINIMI (necessari al passaggio alla classe successiva) Anno Scolastico 2018/2019 PROGRAMMA DIDATTICO CONSUNTIVO CLASSE 1ME Docenti Marco Cirrito, Pier Luigi Girelli Disciplina Tecnologie Informatiche OBIETTIVI MINIMI (necessari al passaggio alla classe successiva)

Dettagli

Lezione 15 Il Set di Istruzioni (1)

Lezione 15 Il Set di Istruzioni (1) Lezione 15 Il Set di Istruzioni (1) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Un quadro della situazione Input/Output Sistema di Interconnessione Registri

Dettagli

M400 Utilizzo di Encoder con M400

M400 Utilizzo di Encoder con M400 M400 Utilizzo di Encoder con M400 Control Techniques Project ID: 16013 - v.0000 del 20/02/2017 Customer: Project Description: Customer Project Identification: Page 1 of 8 INDICE 1. SCOPO DEL DOCUMENTO...

Dettagli

Introduzione alle Procedure

Introduzione alle Procedure Introduzione alle Procedure Introduction to Fortran 90 Paolo Ramieri, CINECA Aprile 2014 Organizzazione del programma Schema di un unità di programma Fortran 90 PROGRAM, FUNCTION, SUBROUTINE, MODULE nome

Dettagli

Argomenti Avanzati.! I puntatori! Stack! Visibilità delle Variabili

Argomenti Avanzati.! I puntatori! Stack! Visibilità delle Variabili Linguaggio C Argomenti Avanzati! I puntatori! Stack! Visibilità delle Variabili 2 ! Il C consente di associare ai tipi di dati nomi definiti dal programmatore, mediante la parola chiave typedef! Dal punto

Dettagli

S7-1500=S Display?

S7-1500=S Display? S7-1500=S7-300 + Display? Introduzione Differenze di Layout Linguaggi di programmazione e normative Ottimizzazione e linguaggi di programmazione Blocchi Dati ad accesso ottimizzato. Nuovi tipi di dati

Dettagli

Calcolatore: sottosistemi

Calcolatore: sottosistemi Calcolatore: sottosistemi Processore o CPU (Central Processing Unit) Memoria centrale Sottosistema di input/output (I/O) CPU I/O Memoria Calcolatore: organizzazione a bus Il processore o CPU Unità di controllo

Dettagli

Modularizzazione del software

Modularizzazione del software Modularizzazione del software Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2006/2007 Fortran 90: Subroutine e function DIS - Dipartimento di informatica e sistemistica

Dettagli

Sequential Function Chart

Sequential Function Chart Sequential Function Chart Marco Mauri Politecnico di Milano P.zza Leonardo da Vinci, 32 22-23 Maggio 2001 1 Sommario La struttura del linguaggio La definizione di sequenza in termini di passi e transizioni

Dettagli

Prof. Pagani Corrado INTRODUZIONE AL LINGUAGGIO C

Prof. Pagani Corrado INTRODUZIONE AL LINGUAGGIO C Prof. Pagani Corrado INTRODUZIONE AL LINGUAGGIO C IL LINGUAGGIO C Nel 1972 Dennis Ritchie nei Bell Laboratories progettò il linguaggio C Il linguaggio possiede tutti i costrutti di controllo dei linguaggi

Dettagli

VISUAL BASIC FOR APPLICATION

VISUAL BASIC FOR APPLICATION VISUAL BASIC FOR APPLICATION LA PIATTAFORMA DI SVILUPPO GLI ELEMENTI DI VBA Finestra di progetto: mostra l elenco gerarchico dei progetti aperti e di tutti i moduli di codice e finestre di interfaccia

Dettagli

Introduzione ad ISaGRAF

Introduzione ad ISaGRAF Ingegneria e Tecnologie dei sistemi di Controllo Introduzione ad ISaGRAF Ing.. Andrea Pagani D.E.I.S. Università di Bologna L.A.R. Laboratorio di Automazione e Robotica Tel: 051 2093069 email: apagani@deis.unibo.it

Dettagli

LABORATORIO DI SISTEMI

LABORATORIO DI SISTEMI ALUNNO: Fratto Claudio CLASSE: IV B Informatico ESERCITAZIONE N : 2 LABORATORIO DI SISTEMI OGGETTO: 1) Scrivere un programma, in linguaggio Assembly, per una CPU Intel 8086, che sommi due numeri (var_1,

Dettagli

Introduzione al linguaggio C Primi programmi

Introduzione al linguaggio C Primi programmi Introduzione al linguaggio C Primi programmi Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica

Dettagli

Un quadro della situazione. Lezione 15 Il Set di Istruzioni (3) Dove siamo nel corso. Organizzazione della lezione. Cosa abbiamo fatto

Un quadro della situazione. Lezione 15 Il Set di Istruzioni (3) Dove siamo nel corso. Organizzazione della lezione. Cosa abbiamo fatto Un quadro della situazione Lezione 15 Il Set di Istruzioni (3) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Input/Output Sistema di Interconnessione Registri

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Algoritmi e Strutture Dati Università di Camerino Corso di Laurea in Informatica (12 CFU) I periodo didattico Emanuela Merelli email:emanuela.merelli@unicam.it Argomenti della lezione Elementi di un linguaggio

Dettagli

Linguaggi di Programmazione

Linguaggi di Programmazione Linguaggi di Programmazione E una notazione con cui e possibile descrivere gli algoritmi. Programma: e la rappresentazione di un algoritmo in un particolare linguaggio di programmazione. In generale, ogni

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 Di seguito vengono riportate una serie di domande che possono essere poste durante la prova formale del corso. Le seguenti domande non sono da ritenersi esaustive ma esemplificative. 1. Architettura

Dettagli

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi Corso di Calcolatori Elettronici I Architettura di un calcolatore: introduzione Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie

Dettagli

Istruzioni di trasferimento dati

Istruzioni di trasferimento dati Istruzioni di trasferimento dati Leggere dalla memoria su registro: lw (load word) Scrivere da registro alla memoria: sw (store word) Esempio: Codice C: A[8] += h A è un array di numeri interi Codice Assembler:

Dettagli