PLC PCD1 della SAIA-Burgess

Slides:



Advertisements
Presentazioni simili
Introduzione al linguaggio C++
Advertisements

Informatica Generale Marzia Buscemi
Informatica Generale Susanna Pelagatti
Introduzione al linguaggio C
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità F2 Selezione.
Programmazione assembler
I DATI I PRINCIPALI TIPI DI DATO UTILIZZATI IN PROGRAMMAZIONE
IL MICROCONTROLLORE ST6
Elaboratore e Sistemi Operativo
Algoritmi e Programmazione
Massa Laura Mela Enrica
Programmazione in Ambiente Profibus DP
Il Linguaggio di Programmazione IEC
Tipologie di Controlli in Ambito Industriale
Caratteristiche Principali PLC Siemens CPU 314C-2 DP
Sequential Function Chart (SFC)
Programmazione Procedurale in Linguaggio C++
1 Istruzioni, algoritmi, linguaggi. 2 Algoritmo per il calcolo delle radici reali di unequazione di 2 o grado Data lequazione ax 2 +bx+c=0, quali sono.
Fondamenti di Informatica II Ingegneria Informatica / Automatica (A-I) Meccanica Prof. M.T. PAZIENZA a.a – 3° ciclo.
Tipi di dato e controllo del flusso Dott. Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione Università di Siena Via Roma 56 – – SIENA.
File.
Informatica 2. Concetti fondamentali di programmazione Programmare vuol dire scrivere un algoritmo in un linguaggio che faccia funzionare un calcolatore.
Informatica 3 Codifica binaria.
Allocazione dinamica della memoria
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Variabili e tipi primitivi Anno Accademico 2009/2010.
1 Corso di Informatica (Programmazione) Lezione 10 (12 novembre 2008) Programmazione in Java: espressioni booleane e controllo del flusso (selezione)
Corso di Informatica (Programmazione)
Introduzione ai PLC.
Struttura dei sistemi operativi (panoramica)
L. Servoli - Corso Fisica dei Dispositivi Elettronici 1 Uno scheduler deve avere implementate almeno le seguenti funzionalità: 1) Inizializzatore: preparazione.
Il Linguaggio Macchina
Procedure e funzioni nei linguaggi di alto livello Lab Programmazione - turno /2006.
Unità Didattica 2 I Linguaggi di Programmazione
3. Architettura Vengono descritte le principali componenti hardware di un calcolatore.
Strutture dei sistemi di calcolo Funzionamento di un sistema di calcolo Struttura di I/O Struttura della memoria Gerarchia delle memorie Architetture di.
Strutture di controllo in C -- Flow Chart --
Dichiarazioni e tipi predefiniti nel linguaggio C
EVOLUZIONE DEL PC Legge di Moore: La potenza dei calcolatori raddoppia ogni 18 mesi Metà anni 80 (Personal Computer IBM AT) Architettura 16 bit interna,
1 © 1999 Roberto Bisiani Rappresentazione delle informazioni n Occorre un codice n Legato alla tecnologia usata Robustezza Semplicita Economicita.
Java base I: Sintassi e tipi di dati
Corso di PHP.
L’Architettura del Sistema di Elaborazione
Fondamenti di informatica Linguaggio C Main Program: Architettura di un PC Diagrammi di flusso Linguaggio C.
Programmazione in Java Claudia Raibulet
ELETTRONICA DIGITALE (II Parte)
Esercizio 10.* Un cassiere vuole dare un resto di n centesimi di euro usando il minimo numero di monete. a) Descrivere un algoritmo goloso per fare ciò.
L' ARCHITETTURA DI VON NEUMANN
Introduzione al linguaggio assemby del microprocessore a parte
I vettore interruzioni
Prova di verifica Fondamenti Informatica 1 15 Febbraio 2008.
CODIFICA Da flow-chart a C++.
Architettura del calcolatore
Unità Didattica 3 Linguaggio C
Introduzione al linguaggio assembly del microprocessore a parte
1 Lucidi delle esercitazioni di Sistemi di Elaborazione in Rete Università degli Studi della Calabria Corso di Laurea in Ingegneria Gestionale A.A. 2003/2004.
14 marzo 2002 Avvisi:.
Fopndamenti di programmazione. 2 La classe String Una stringa è una sequenza di caratteri La classe String è utilizzata per memorizzare caratteri La classe.
ISTITUTO STATALE DI ISTRUZIONE SUPERIORE F. ENRIQUES CORSO JAVA – PROVA INTERMEDIA DEL 12 MARZO 2007 NOME: COGNOME: ________________________________________________________________________________.
Architettura di una CPU
Architettura del calcolatore
Introduzione a Javascript
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
Fondamenti di Informatica II Ingegneria Informatica (A-I) Prof. M.T. PAZIENZA a.a – 3° ciclo.
1 Fabio Scotti – Università degli Studi di Milano Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza Valentina Ciriani ( )
1 Il linguaggio C Precisazioni sull’esperienza in laboratorio.
Fondamenti di Informatica
UNIVERSITÀ DI BERGAMO FACOLTÀ DI INGEGNERIA UNIVERSITÀ DI BERGAMO FACOLTÀ DI INGEGNERIA UNIVERSITÀ DI BERGAMO FACOLTÀ DI INGEGNERIA Dispositivi per il.
La codifica dei numeri.
Il Processore Il processore è la componente dell’unità centrale che elabora le informazioni contenute nella memoria principale L’elaborazione avviene eseguedo.
IL PLC AUTOMAZIONE INDUSTRIALE
Transcript della presentazione:

PLC PCD1 della SAIA-Burgess Programmazione in Ambiente SAIA-Burgess PLC PCD1 della SAIA-Burgess

Caratteristiche Hardware PLC SAIA PCD1 Massimo 4 Moduli di I/O. Quelli presenti: 1 byte digitale ingressi (0-24V) 1 byte digitale uscite (0-24V) 10 ingressi 4-20mA 10 ingressi 0-10 V 1 CPU: microcontrollore 68340 Tempi di elaborazione: AND 5s WORD 10s

Caratteristiche Hardware PLC SAIA PCD1 Memoria 17 Kbytes RAM 64 Kbytes RAM/EEPROM Base dei Tempi: programmabile da 10 msec a 10 secondi default: 100 msec

Organizzazione della Memoria PLC SAIA PCD1 Ingressi (1 bit): I (0..8191). Esempio I 0 Uscite (1 bit): O (0..8191). Esempio O 0 Flag (1 bit): F (0..8191). Esempio F 0. Possono essere letti e/o modificati. Registro (32 bit): R (0..4095). Valori positivi, negativi o nulli. Valori in Virgola Mobile, Decimali, Esadecimali, Binari.

Costanti: K (0..16383) Possono assumere i seguenti valori: Organizzazione della Memoria PLC SAIA PCD1 Costanti: K (0..16383) Possono assumere i seguenti valori: Tipo Costante Valore Minimo Valore Massimo Decimale -2.147.483.648 +2.147.483.648 Esadecimale 0 H FFFFFFFF H Binario 0 Q 1111111111111 Q (13 bits) ASCII 'a', 'b', ..., 'z', 'A', etc. Virgola Mobile -9.22337177 E+18 +9.22337177 E+18 -2.71050535 E-20 +5.42101070 E-20

Organizzazione della Memoria PLC SAIA PCD1 Temporizzatore (31 bit): T (default: 0..31) Viene decrementato in funzione della base dei tempi il cui valore di default è di 1/10 sec (100 msec). Può assumere solo valori positivi o nulli: 0..2.147.483.647 Contatore (31 bit): C (default: 32..1599) Viene decrementato in funzione di eventi scelti dall'utente.

Flag di Sistema Registro Risultato o ACCU: (1 bit) P (1 bit): Accumulatore. Il suo stato (H/L) dipende dal risultato di determinate istruzioni (tipicamente quelle che operano sui bit) P (1 bit): flag di stato delle operazioni aritmetiche. Il suo stato è H (alto) se il risultato di una istruzione aritmetica è positivo ( > 0 ) N (1 bit): flag di stato delle operazioni aritmetiche. Il suo stato è H (alto) se il risultato di una istruzione aritmetica è negativo ( < 0 ) Z (1 bit): flag di stato delle operazioni aritmetiche. Il suo stato è H (alto) se il risultato di una istruzione aritmetica è zero E (1 bit): flag di stato delle operazioni aritmetiche. Il suo stato è H (alto) se l'istruzione aritmetica non può essere eseguita (superamento capacità dei registri, divisione per zero, radice quadrata di un numero negativo, etc.)

Differenze con lo Standard IEC 1131-3 Definizione Configuration e Resource: La Configuration coincide con il Progetto La Resource (Specifica del Supporto Hardware) è definita nel Progetto (Tools  PCD Configuration File Editor) Definizione di Programma e Function Block All'interno di un Progetto possono essere definiti più Programmi e Function Blocks scritti in uno dei 5 linguaggi IEC 1131-3   Definizione dei Tasks La Gestione dei Processi e Function Block avviene tramite Blocchi ad Organizzazione Ciclica (COB)   Definizione di Tipi di Dato Non disponibile

Differenze con lo Standard IEC 1131-3 Definizione di Variabili Locali e Globali La definizione di Variabile Locale o Globale viene realizzata specificando lo Scope della variabile, quando essa viene dichiarata in un file (ad esempio in un programma) Local: La Risorsa (I, O, F, R, T, C, K) è locale al File Public: La Risorsa è dichiarata Public al fine di essere usata in un altro File Extern: La Risorsa è utilizzata nel File corrente, ma è stata dichiarata Public in un altro File Inizializzazione Variabili Viene fatto in Instruction List (IL) (vedasi lucidi successivi)

Differenze con lo Standard IEC 1131-3 Variabili e Valori Temporali Non esistono in modo esplicito I valori temporali vengono espressi con Registri (R) o con Costanti (K) I valori temporali sono espressi come multipli di 100 msec Attributi Variabili: Attributo AT Non esiste L'associazione delle variabili agli indirizzi di memoria viene fatta all'atto della dichiarazione delle variabili specificando se: l'allocazione deve essere dinamica (non si fissa alcun indirizzo di memoria) si vuole assegnare un indirizzo ben preciso 

Differenze con lo Standard IEC 1131-3 Attributi Variabili: Attributo RETAIN Non esiste E' possibile definire qualcosa di simile solo per i Flags. E' possibile scegliere tra due valori: Volatile (Reset con il Cold Start) Non-Volatile (Default) E' possibile configurare l'intervallo di indirizzi di Flags che sono di tipo Volatile e Non-Volatile Attributi Variabili: Attributo CONSTANT Vengono utilizzate le Costanti K

POUs e Tasks nel PLC SAIA-Burgess Il programma è diviso in blocchi di istruzioni: Blocco di Organizzazione Esclusiva (XOB) Blocco di Organizzazione Ciclica (COB) Blocco di Programma (PB) Blocchi di Funzione (FB). Ci deve essere almeno un COB Ogni COB può richiamare PB e FB I PB e i FB possono richiamare qualsiasi altro PB o FB fino a 7 livelli di nidificazione

Blocco ad Organizzazione Esclusiva (XOB) Viene eseguito solo quando si verifica un determinato evento al quale il XOB è associato Se un determinato evento accade e ad esso non viene associato alcun XOB, non viene intrapresa alcuna azione e si accende la lampada ERROR Al termine del programma XOB, il programma ritorna alla locazione dalla quale era stata richiamata la routine esclusiva. Gli eventi sono caratterizzati da una priorità, che determina l'esecuzione degli associati XOB, nel caso di concomitanza di eventi Esempio: XOB 16, Accensione PLC o Start Cold

Blocco ad Organizzazione Esclusiva (XOB) Sintassi della dichiarazione di un XOB XOB numero corpo del programma EXOB numero: 0-25 (ad esempio 16) All'inizio dell'XOB l'ACCU e' messo alto (H)

Inizializzazione Variabili Instruction List (IL) Blocco ad Organizzazione Esclusiva (XOB) Inizializzazione Variabili Instruction List (IL) XOB 16 ACC H SET F 0 EXOB   RES F 0

Blocco ad Organizzazione Ciclica (COB) Ad ogni COB deve essere associato un numero La sequenza di esecuzione dei COB (quando ve ne è più di uno) dipende dal numero associato Ad ogni COB può essere associato un tempo di supervisione espresso in unità di 1/10 sec. In ogni caso deve essere associato il valore 0 Se il tempo di supervisione è 0, alla conclusione del COB viene eseguito il COB successivo (con numero superiore). Se il COB è l'unico, viene eseguito lo stesso COB Se il tempo di supervisione è maggiore di 0, viene attivato un timer all'inizio dell'esecuzione del COB. Se il tempo di supervisione scade prima che il COB termina, viene eseguito il COB successivo.

Blocco ad Organizzazione Ciclica (COB) Sintassi della definizione di un COB COB numero tempo corpo del programma ECOB  numero: 0-15 (16 COB al massimo) tempo: tempo di supervisione in incrementi di 10 ms (0-100.000) All'inizio del COB l'ACCU è messo alto (H)

Esempio di Gestione della Preemption COB 0 0 ;oppure t LD C 0 100 NEXT: DEC C 0 STH C 0 JR H NEXT STH I 32 OUT O 48 ECOB COB 1 STH I 39 OUT O 55 se il COB 0 ha tempo 0 allora i tempi di risposta di O 55 sono pari a quelli del decremento del contatore se il COB 0 ha tempo t allora i tempi di risposta di O 55 sono di t*10 msec.