Rappresentazione base 2

Documenti analoghi
Linguaggio di Programmazione Ladder

Tecnica basata su Relazioni I/O Circuito di Clock

Automazione e territorio

Programmable Logic Controller Seconda Parte

LA PROGRAMMAZIONE IN LINGUAGGIO LADDER

Programmazione dei PLC in linguaggio Ladder

Ambiente di sviluppo STEP 7 Micro/Win

TUTORIAL. Uso di FB e creazione di Istanze in ambiente TIA Portal V12

Luigi Piroddi

Windows. La prima realizzazione di un ambiente grafico si deve alla Apple (1984) per il suo Macintosh. La gestione dei file conserva la logica del DOS

ESEMPIO QUATTRO: TRAPANO COMPLESSO

LA PROGRAMMAZIONE DEL PLC /1

Dispositivi per il controllo

Appunti del corso di Informatica 1 (IN110 Fondamenti) 5 Rappresentazione delle informazioni

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

ELABORAZIONE DEI SEGNALI ANALOGICI NEL PLC S7-1200

Wincc TIA Portal v14

Tecnica basata su Relazioni I/O Motore: Marcia/Motore/Arresto

Esempio PROGRAMMAZIONE IN LADDER IN AMBIENTE SIMATIC STEP7. Corso su. creato in esclusiva per Associazione PLC Forum

Function Block Diagram

STEP7: blocchi. Vi sono diversi tipi di blocchi che possono essere utilizzati all'interno di programmi utente:

In attesa di iniziare

Il Linguaggio di Programmazione IEC Ladder

Bit, Byte, Word e Codifica Dati

PLC Sistemi a Logica Programmabile Il linguaggio AWL istruzioni di base

Guida rapida Flexem Studio

Codifica. Rappresentazione di numeri in memoria

I sistemi di numerazione. Informatica - Classe 3ª, Modulo 1

La codifica dei numeri

ISTITUTO ISTRUZIONE SUPERIORE

Il Modello di von Neumann (2) Prevede 3 entità logiche:

Il Mio Primo Programma

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

SIMATIC S7. Primi passi ed esercitazioni con STEP 7 V5.3. Benvenuti in STEP 7, Contenuto. Introduzione a STEP 7 1. SIMATIC Manager

POLITECNICO DI MILANO. V Facoltà di Ingegneria. Ladder Diagram. Sistemi ad Eventi Discreti

Rappresentazione dei dati in memoria

SIMATIC S7. Primi passi ed esercitazioni con STEP 7. Benvenuti in STEP 7, Contenuto. Introduzione a STEP 7 1

Modulo 2 Test di verifica

Descrizione delle operazioni di calcolo. Espressioni costanti semplici

Introduzione alla programmazione in linguaggio C

Definire una chiave primaria. Microsoft Access. Definire una chiave primaria. Definire una chiave primaria. Definire una chiave primaria

Istruzioni per l installazione ed uso del programma OMNICARD (rel.5.2) 18/04/2016

Sequential Functional Chart

Laboratorio - Monitoraggio e Gestione delle Risorse di Sistema in Windows XP

Costanti e Variabili

Lezione 6 Introduzione al C++ Mauro Piccolo

MATLAB I/O. Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA

LINEE GUIDA PER LA CONNESSIONE DI MCP PLUS A VIDEOTERMINALI PROFACE SERIE GP

Tipi di dati scalari (casting e puntatori) Alessandra Giordani Lunedì 10 maggio 2010

Configurazione di Visualino 01. Collegate la scheda Arduino alla porta USB del computer

Linguaggi di Programmazione

La codifica dei numeri

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

Produzione di un clip video promozionale per un azienda di catering

Il potere espressivo di un linguaggio è caratterizzato da: PROGRAMMA = DATI + CONTROLLO

File binari e file di testo

Introduzione al Linguaggio C

IL CONTROLLO DI UN PROCESSO

Rappresentazione dell Informazione

L INTERFACCIA GRAFICA DI EXCEL

LINGUAGGI DI PROGRAMMAZIONE!

Transcript:

Rappresentazione base 2 La rappresentazione di un numero con decimali nel computer avviene utilizzando una particolare notazione identificata con il nome di IEEE754:

Rappresentazione base 2 Si noti che la sequenza di 32 bit seguente: Interpretata come intero corrisponde a 2.141.192.192. La stessa sequenza, vista come numero in notazione IEEE754, corrisponde a tutt altro valore come si vede in figura: Questo esempio dimostra l importanza di come deve essere letta una sequenza binaria (definizione del tipo di dato) poiché a secondo ottengo risultati diversi.

Tipi di dato usati TIPO Nr. Bit Interpretazione sequenza binaria BOOL 1 Bit 0 false 1 True BYTE 8 Bit Intero senza segno da 0 a 255. CHAR 8 Bit La sequenza viene interpretata come codifica ascii di un carattere WORD 16 Bit Intero senza segno da 0 a 2 16-1 INT 16 Bit Intero con segno 2 15 a +2 15-1 DWORD 32 Bit Intero senza segno da 0 a 2 32-1 DINT 32 Bit Intero con segno 2 31 a +2 31-1 REAL 32 Bit Numero reale codificato con IEEE754

Rappresentazione base 2 Ho inserito in questa pagina l elenco dei vari convertitori utilizzati per queste spiegazioni: NUMERI INTERI http://www.brescianet.com/appunti/teoria/esercizi/cambidibase.htm NUMERI CON DECIMALI http://www.brescianet.com/appunti/teoria/esercizi/frazionari.htm NUMERI INTERI RELATIVI http://www.brescianet.com/appunti/teoria/esercizi/relativi.htm RAPPRESENTAZIONE FLOATING POINT http://www.brescianet.com/appunti/teoria/esercizi/ieee754.htm REVERSE IEEE754 http://www.brescianet.com/appunti/teoria/esercizi/reverseieee754.htm

Finestra del programma KOP Nella finestra del programma KOP/AWL/FUP vengono programmati tutti i blocchi. Come esempio di linguaggio di programmazione ho qui raffigurato il programma in KOP. Facendo doppio click sull icona OB1 entro nella finestra programma

Linguaggio di Programmazione Ladder E' il più vecchio linguaggio di programmazione per PLC Si basa su simboli di provenienza "elettrica": binari di potenza (power rail), contatti elettrici e avvolgimenti magnetici (coil) Si articola in linee verticali dette rung segmenti Ciascun rung può contenere contatti, coil, Function Block e Funzioni Ciascun "rung" deve essere connesso necessariamente al binario di potenza sinistro (left power rail), mentre il collegamento con quello destro è opzionale o

Elementi di Base del Linguaggio Ladder Power Rail (o linee di potenza) Linee Elettriche Orizzontali Connessioni ai Power Rail Contatto Normalmente Aperto Contatto Normalmente Chiuso Coil o bobina di uscita Negated Coil

Regole di Esecuzione dei Rung Un programma scritto in linguaggio Ladder viene eseguito valutando un rung alla volta L'ordine di valutazione dei rung è quello che procede dal primo rung in alto verso l'ultimo rung in basso Quando l'ultimo rung viene valutato, si inizia nuovamente a valutare il primo rung (dopo aver aggiornato le uscite e letti gli ingressi)

L'ordine di valutazione comporta la necessità di riunificare i rung che operano delle modifiche (Write) sulle stesse uscite Esempio: Effetti Collaterali delle Regole di Esecuzione dei Rung 1 1 1 1 IN1 IN2 IN3 FAN IN4...... IN5... FAN 0 0 0 L'effetto di IN1, IN2, e IN3 sull'uscita reale collegata alla variabile FAN è nullo. L'uscita reale può essere modificata solo da IN4 e IN5, a causa della posizione del rung che li contiene

Effetti Collaterali delle Regole di Esecuzione dei Rung Riunificando i rung, l'uscita reale collegata alla variabile FAN verrà aggiornata solo dopo aver valutato il rung composto dagli ingressi IN1, IN2, IN3, IN4 e IN5 1 1 1 IN1 IN2 IN3 1 FAN 1 1 1 1 IN1 IN2 IN3 FAN IN4...... IN5 0 0 0 FAN... IN4 IN5 0 0

Feedback Paths E' possibile che un rung presenti dei contatti e dei coil ai quali vengono associate le stesse variabili IN1 IN2 IN3 FAN IN4 FAN FAN OUT Il valore della variabile associata al contatto FAN è quello valutato nell'ultima valutazione (rung precedente) NOTA: L'uso dei Feedback può essere pericoloso, in quanto può portare ad una instabilità delle uscite del PLC. Ad esempio, l'uscita FAN diviene instabile se inizialmente FAN=0 e nel tempo gli ingressi IN1, IN2, IN3 e IN4 si mantengono costanti e pari a IN1=0, IN2=0, IN3=1, IN4=1

Come programmare un circuito in serie: Programmare OB1 in KOP Nel seguito programmeremo un circuito in serie, un circuito in parallelo e la funzione di memoria Imposta e Resetta in KOP (Schema a contatti). Entrati nella finestra di programmazione dell OB1 (aperta con il doppio click) imposto il linguaggio di programmazione KOP tramite il menu Visualizza

Come programmare un circuito in serie: Programmare OB1 in KOP

Come programmare un circuito in serie: Programmare OB1 in KOP Verificare se è attivata la rappresentazione simbolica.

Come programmare un circuito in serie: Programmare OB1 in KOP I simboli vengono contrassegnati in rosso se per es. il simbolo non è contenuto nella tabella dei simboli oppure vi è un errore sintattico.

Simboli: Indirizzamento assoluto e simbolico Per vedere la differenza tra indirizzamento assoluto ed indirizzamento simbolico, disattivare nel menu Visualizza > Finestra con > Rappresentazione simbolica. L' "a capo automatico" dell indirizzamento simbolico viene modificato nella finestra del programma KOP/AWL/FUP con Strumenti > Impostazioni > KOP/FUP > Larghezza campo operando. È qui possibile impostare l' "a capo automatico" tra il 10 e 26 carattere.

Come programmare un circuito in parallelo: Programmazione dell OB1 in KOP Inseriamo un nuovo segmento utilizzando il tasto destro

Come programmare un circuito in parallelo: Programmare OB1 in KOP

Programmare OB1 in AWL Nel seguito mostriamo i prg equivalenti scritti in AWL Entrati nella finestra di programmazione dell OB1 (aperta con il doppio click) imposto il linguaggio di programmazione AWL tramite il menu Visualizza circuito in serie La lettera U è equivalente all operatore logico AND circuito in parallelo La lettera O è equivalente all operatore logico OR Istruzione di memoria S sta per set e R per reset circuito in serie con indirizzamento assoluto in AWL

Programmare OB1 in FUP Nel seguito mostriamo i prg equivalenti scritti in FUP Entrati nella finestra di programmazione dell OB1 (aperta con il doppio click) imposto il linguaggio di programmazione FUP tramite il menu Visualizza circuito in serie La lettera & indica l operatore logico AND circuito in parallelo Il simbolo >=1 indica l operatore logico OR Istruzione di memoria circuito in parallelo con indirizzamento assoluto in FUP

Simboli: acquisirli da altri progetti E possibile importare i simboli da un altro progetto mediante un operazione di drag & drop Aprire inoltre nella scheda "Progetti di esempio" il progetto: ZIt01_05_STEP7 KOP_1-9, ZIt01_01_STEP7 AWL_1-9 o ZIt01_03_STEP7 FUP_1-9 In "ZIt01_XXX" Esempio navigare ai Simboli e copiarli con Drag & Drop nella finestra del nostro progetto, Cartella Programma S7. Chiudere poi la finestra "ZIt01_XXX" Esempio.

Tecnica di Programmazione con il Ladder Tecnica basata su Relazioni I/O La tecnica di programmazione più istintiva e naturale che è possibile applicare al linguaggio Ladder è quella che permette di esprimere tramite i rung le relazioni causa effetto, che legano le uscite da comandare agli ingressi o a particolari condizioni logiche interne. Tecnica basata sulla Macchina a Stati Deve essere applicata a problemi più complessi, in cui l'attivazione delle uscite non dipende esclusivamente dagli ingressi (o da variabili interne, quali bits, contatori, timers) ma è legata al concetto di "stato".

Tecnica basata su Relazioni I/O La scrittura di un programma in Ladder deve prevedere: l'esplicitazione delle relazioni tra le uscite da comandare e gli ingressi o particolari condizioni logiche interne la loro traduzione utilizzando i simboli del linguaggio Ladder. Nel seguito verranno mostrati due esempi che permettono di comprendere meglio quanto detto.

ESEMPIO UNO: MARCIA ARRESTO - MOTORE

Tecnica basata su Relazioni I/O Motore: Marcia/Motore/Arresto Consideriamo il classico problema di gestione dell'accensione/spegnimento di un motore: L'accensione del motore è comandata da un pulsante di Marcia, che deve essere attivato (normalmente aperto). Una volta attivato, la sua posizione non è più rilevante per il mantenimento dell'accensione del motore. Per la gestione di eventuali emergenze, è previsto l'utilizzo di un pulsante di Arresto (normalmente chiuso). Infine il motore deve essere interrotto nel caso di surriscaldamento, ossia a seguito dell'intervento della termica (normalmente chiuso).

IMPLEMENTAZIONE: Tecnica basata su Relazioni I/O Motore: Marcia/Motore/Arresto Iniziamo con il creare un nuovo progetto con SIMATIC Manager:

IMPLEMENTAZIONE: Tecnica basata su Relazioni I/O Motore: Marcia/Motore/Arresto Definiamo la seguente tabella dei simboli:

IMPLEMENTAZIONE: Tecnica basata su Relazioni I/O Motore: Marcia/Motore/Arresto Scriviamo il seguente programma in KOP: Selezionare con un doppio click gli elementi nella cartella «combinazione binaria» necessari al nostro programma seguendo l ordine stabilito nella nostra analisi preliminare

IMPLEMENTAZIONE: Tecnica basata su Relazioni I/O Motore: Marcia/Motore/Arresto - Selezioniamo la linea orizzontale e in sequenza doppio click sugli elementi a, b, c, d. - Selezioniamo (A) la «power rail» e inseriamo la diramazione (B)

IMPLEMENTAZIONE: Tecnica basata su Relazioni I/O Motore: Marcia/Motore/Arresto Inseriamo sulla linea orizzontale appena aggiunta il «contatto normalmente aperto» e ci ricolleghiamo alla prima linea utilizzando il bottone «Fine diramazione»:

IMPLEMENTAZIONE: Tecnica basata su Relazioni I/O Motore: Marcia/Motore/Arresto Occorre sostituire i??.? con le indicazione relative agli operandi Tasto destro sul??.? Salviamo il programma con il menu «File» «Salva». Chiudiamo il progetto OB1

FINE 4 LEZIONE