Comments
Description
Transcript
ESEMPIO TRE: TRAPANO SEMPLICE
ESEMPIO TRE: TRAPANO SEMPLICE Tecnica basata sulla macchina a stati Il sistema da analizzare è costituito da un trapano che deve effettuare un foro su un pezzo posizionato alla base del sistema. Il trapano è montato su un supporto che gli permette di muoversi dall'alto verso il basso e viceversa. Il dispositivo è azionato da un pulsante START che viene attivato dall'utente, quando il pulsante viene premuto la punta del trapano inizia a roteare (ROTATE & DOWN). Quando la punta del trapano giunge nella posizione più bassa indicata dal sensore (B) il pezzo è stato completamente forato e il trapano può risalire (UP) fino a fine corsa (rilevato dal sensore A). Tecnica basata sulla macchina a stati Trapano semplice DEFINIZIONE DEGLI I/O: Gli ingressi della parte di controllo (PLC) sono: Il segnale START del pulsante utente, il segnale A che indica la posizione alta del trapano, il segnale B che indica la posizione più bassa del trapano ovvero quando è stato effettuato il foro Le uscite del PLC sono: il segnale UP che determina l’azione di discesa del trapano, Il segnale ROTATE & DOWN per far girare verso il basso la punta Il segnale HOME mette il trapano in uno stato di riposo. Tecnica basata sulla macchina a stati Trapano semplice DEFINIZIONE DEGLI STATI: Gli stati del sistema sono 3: HOME Il passaggio P1 da S1 a S2 START=1 avviene solo quando la variabile d’ingresso START è a 1 (true) ovvero quando si preme il pulsante di avvio, S1 P1 A=1 P3 ROTATE & DOWN S3 S2 S2 (azione associata: ROTATE & DOWN) : In questo stato il trapano scende verso il pezzo facendo roteare la punta. S1 (azione a riposo o HOME): E’ lo stato iniziale del trapano. Verrà rappresentato con una variabile locale S1 che è sempre inizializzata ad 1 (true). In tale stato il trapano è a riposo. UP P2 B=1 Il passaggio P2 dallo stato S2 allo stato S3 avviene quando la variabile d’ingresso B è posta ad 1, ovvero quando il trapano si trova nella posizione più bassa e quindi ha effettuato il foro. Il passaggio P3 che riporta allo stato S1 avviene se la variabile di ingresso A è posta pari ad 1 cioè quando il trapano si trova nella posizione più alta. S3 (azione: UP) : In questo stato il trapano risale perché ha completato il foro sul pezzo. Tecnica basata sulla macchina a stati Trapano semplice INDIVIDUAZIONE DELLE VARIABILI NECESSARIE: Avremo quindi le variabili di ingresso: Start: variabile booleana di ingresso che aziona il sistema A: Fine corsa A. Se il valore è 1 indica che il trapano si trova nella posizione più alta del supporto. B: Fine corsa B. Se il valore è 1 indica che il trapano si trova nella posizione più bassa del supporto. Avremo quindi le variabili di uscita (relative alle azioni): Il segnale UP che agisce sull’azione di risalita del trapano, Il segnale ROTATE & DOWN per roteare la punta e farla scendere Il segnale HOME che mette a riposo il trapano, Avremo anche delle variabili interne che identificano gli stati: S1 (azione: riposo o HOME), S2 (azione: ROTATE & DOWN), S3 (azione: UP) Tecnica basata sulla macchina a stati Trapano semplice IMPLEMENTAZIONE: Il programma in Ladder in questo caso si compone di tre porzioni: Rappresentazione dell’attivazione di un nuovo stato a partire dallo stato corrente a seguito di un determinato evento HOME S1 S1 P1 S2 S S2 P2 S3 S P3 S1 S P1 P3 ROTATE & DOWN S3 S3 S2 UP P2 Tecnica basata sulla macchina a stati Trapano semplice IMPLEMENTAZIONE: Rappresentazione della disattivazione dello stato precedente a causa dell’attivazione di un nuovo stato HOME S1 S2 P1 P3 S3 ROTATE & DOWN S1 S3 S2 UP P2 S1 R S2 R S3 R Tecnica basata sulla macchina a stati Trapano semplice IMPLEMENTAZIONE: Rappresentazione delle azioni eseguite in ciascuno degli stati HOME S1 S1 P1 P3 ROTATE & DOWN S3 S2 UP P2 Home S2 Rotate & down S3 Move up Tecnica basata sulla macchina a stati Trapano semplice S1 P1 S2 S S2 P2 S3 S S3 P3 S1 S S2 S1 R S2 R IMPLEMENTAZIONE: Riassumendo: HOME S1 P1 P3 S3 ROTATE & DOWN S1 S3 S2 S1 S3 R Home UP P2 Iniziamo ad implementare il ns sistema utilizzando i SW della Siemens. Aprire il Simatic Manager e avviare la procedura File > Assistente "Nuovo progetto". S2 Rotate & down S3 Move up Tecnica basata sulla macchina a stati Trapano semplice IMPLEMENTAZIONE: INIZIALIZZAZIONE Occorre inizializzare lo stato S1 a true per cui useremo a tale scopo l’oggetto funzionale OB 100 che viene eseguito durante l’accensione. Vediamo una breve carrellata di alcuni OB particolari: OB VARIE TIPOLOGIE Esistono alcuni OB che, se definiti, permettono di eseguire azioni in caso di eventi: OB 82, Priorità 26: allarme diagnostica (es.cortocircuito unità di ingresso) OB 85, Priorità 26: errore di esecuzione programma (es.OB non caricato) OB 86, Priorità 26: guasto al telaio di montaggio OB 87, Priorità 26: errore di comunicazione OB 100, Warm Start Nella CPU 314C-2DP è consentito il solo Avviamento Warm. L'avviamento Warm diviene anche Cold, se non vi sono aree di memoria ritentive definite o utilizzate (oppure se scarico completamente un programma e lo ricaricarico). Quindi OB 100 viene eseguito all'avviamento Warm (nessun limite sulla durata). Può essere utilizzato per l'inizializzazione di variabili. Per i Merker si utilizza il comando SET. La sintassi è SET = variabile (nome o indirizzo). Quindi per il nostro esempio dobbiamo mettere : SET = "S1" Tecnica basata sulla macchina a stati Trapano semplice CREAZIONE PROGETTO: Selezionare OB1 e OB100, scegliere come linguaggio di programmazione KOP e indicare il nome del progetto “TrapanoSemplice”. Per effettuare la programmazione con nomi simbolici bisogna creare una tabella dei simboli. Aprire la cartella “Simboli” che si trova dentro Programma S7(1) e inserire le varie righe Tecnica basata sulla macchina a stati Trapano semplice DEFINIZIONE SIMBOLI: Si osservi che agli stati sono associati bit di Merker a partire da M 20.0. Si potevano scegliere anche a partire dal MB 17.0. Questa scelta è legata al fatto che la CPU utilizzata, ha i byte di Merker da MB 0 a MB 16 con ritenzione preimpostata. Si ricordi che i dati vengono definiti a ritenzione quando, dopo una caduta di tensione, essi hanno lo stesso valore che avevano prima della caduta di tensione. Affinché il programma funzioni correttamente è necessario che la variabile Home sia settata inizialmente a true. Avendo assegnato agli stati tali indirizzi (M 20.0 …) si è garantito che tali variabili non siano ritentive. In tal modo se dovesse verificarsi una caduta di tensione il programma ripartirebbe correttamente, perché la variabile Home in particolare non assumerebbe il vecchio valore essendo non ritentiva. (In realtà bastava impostare solo la variabile Home come non ritentiva!). Attenzione: l'impostazione del mnemonico (tedesco o inglese) va eseguita nel SIMATIC Manager, sotto Strumenti > Impostazioni, nella scheda "Lingua e mnemonico". Se fosse impostato il tedesco al posto di I dovevo scrivere E Tecnica basata sulla macchina a stati Trapano semplice IMPLEMENTAZIONE IN STEP 7: Dopo aver creato la tabella dei simboli cliccare su OB1 per scrivere il programma in KOP(Ladder). Il programma in KOP sarà composto da tre fasi. A partire dal diagramma di stato bisogna scrivere questa parti di codice: 1. stato attuale + condizioni nuovo stato 2. nuovo stato resettaggio vecchio stato 3. stato attuale azioni che devono essere compiute STATO ATTUALE + CONDIZIONI NUOVO STATO S1 START=1 HOME P1 A=1 P3 ROTATE & DOWN S3 S2 B=1 P2 UP Tecnica basata sulla macchina a stati Trapano semplice IMPLEMENTAZIONE IN STEP 7: RESET STATI PRECEDENTI HOME S1 START=1 P1 A=1 P3 ROTATE & DOWN S3 S2 P2 B=1 UP Tecnica basata sulla macchina a stati Trapano semplice IMPLEMENTAZIONE IN STEP 7: ATTIVAZIONE AZIONI HOME S1 START=1 P1 A=1 P3 S3 S2 ROTATE & DOWN P2 B=1 UP Tecnica basata sulla macchina a stati Trapano semplice PREPARAZIONE SIMULAZIONE PROGETTO: - Aprire il SIMATIC Manager. - selezionare il comando di menu Strumenti > Simula unità. Questa operazione avvia l'applicazione S7-PLCSIM ed apre una sottofinestra CPU - Nel SIMATIC Manager, aprire il nostro progetto (Menu File > Apri...) - All'interno del progetto portarsi sull'oggetto "Blocchi" - Fare click con il tasto destro del mouse sull'oggetto "Blocchi" e selezionare il comando "Sistema di destinazione > Carica" per caricare l'oggetto "Blocchi" nel PLC simulato Nell'applicazione S7-PLCSIM, creare ulteriori "sottofinestre" (se non sono già inserite!) per controllare le informazioni dal PLC simulato: • Fare clic su oppure selezionare il comando di menu Inserisci > Ingresso. Digitare IB124 (byte di ingresso 124). • Fare clic su oppure selezionare il comando di menu Inserisci > Uscita. Digitare QB124 (Output Byte 124). • Selezionare il comando di menu Inserisci> Merker. Digitare MB 20 Selezionare il menu PLC in S7-PLCSIM e verificare che accanto ad Alimentazione compaia un pallino (•). Tecnica basata sulla macchina a stati Trapano semplice PREPARAZIONE SIMULAZIONE PROGETTO: In PCLSIM selezionare Esegui > modo di scansione e verificare che compaia un pallino (•) accanto a Ciclo continuo. È possibile associare ad ogni elemento (IB,MB,QB, T0) il corrispondente simbolo della tabella dei simboli. Bisogna cliccare in PCLSIM1 su Strumenti > opzioni > aggiungi simboli. Si aprirà la maschera “Apri” che permette di selezionare la tabella dei simboli relativa al progetto in esame. Tecnica basata sulla macchina a stati Trapano semplice PREPARAZIONE SIMULAZIONE PROGETTO: Selezionare il progetto in esame. Cliccando sulla cartella del programma a destra vedremo l’icona dei simboli che selezioniamo. Confermiamo cliccando su OK A questo punto occorre attivare «visualizza simboli» (1). Andando su una delle porte attive dove apparire il tooltip con il nome del simbolo associato. Tecnica basata sulla macchina a stati Trapano semplice SIMULAZIONE PROGETTO: Per effettuare la simulazione occorre commutare la CPU in RUN facendo clic sulla casella RUN oppure RUN-P check. Dall’immagine si osserva che quando la CPU va in RUN la variabile «S1" è true (MB 20.0). È possibile associare ad ogni elemento (IB,MB,QB, T0) il corrispondente simbolo della tabella dei simboli. Bisogna cliccare in PCLSIM1 su Strumenti > opzioni > aggiungi simboli. Si aprirà la maschera “Apri” che permette di selezionare la tabella dei simboli relativa al progetto in esame. Tecnica basata sulla macchina a stati Trapano semplice SIMULAZIONE: Visualizzare nel SIMATIC Manager l’«online» Carichiamo OB1 e OB100 utilizzando uno dei 3 modi: A drag & drop dall’offline all’online B Menu «Sistema di destinazione» voce «Carica» C Click sull’apposito bottone sulla barra degli strumenti Tecnica basata sulla macchina a stati Trapano Semplice SIMULAZIONE: Facciamo doppio click sull’icona OB1 nella finestra dell’online. Dovrebbe apparire: Premiamo la combinazione Ctrl+F7 oppure selezioniamo il menu «Test» voce «Controlla» per controllare lo stato degli ingressi e delle uscite durante la simulazione Tecnica basata sulla macchina a stati Trapano Semplice SIMULAZIONE: Sovrapponiamo il simulatore con l’online e mandiamo in RUN (A) il plc. (B) Si noti che le linee orizzontali in tensione risultano evidenziate in verde Tecnica basata sulla macchina a stati Trapano Semplice TEST: 1) Stato iniziale dopo aver cliccato su RUN Tecnica basata sulla macchina a stati Trapano Semplice TEST: 2) Attiviamo il trapano premendo il pulsante «START» Tecnica basata sulla macchina a stati Trapano Semplice TEST: 3) Simuliamo il fondo corsa settando a true il sensore B Tecnica basata sulla macchina a stati Trapano Semplice TEST: 4) Simuliamo l’arrivo del trapano nella posizione più alta settando a true il sensore A (dobbiamo prima mettere a false Start e B per evitare effetti collaterali). Tecnica basata sulla macchina a stati Trapano Semplice OSSERVAZIONE: Nello step 4) quando dovevamo attivare il sensore A abbiamo dovuto manualmente mettere a false Start e B. Questo perché i sensori non sono effettivamente collegati con dei dispositivi reali ma sono stati simulati mediante dei normali interruttori. La soluzione proposta fino a questo punto è corretta nel caso i sensori generino dei semplici impulsi. Per correggere gli effetti collaterali dovuti alla permanenza del segnale sugli interruttori basta inserire all’inizio questo segmento: Oppure in fondo al programma inseriamo dei segmenti che determino il reset di ogni singolo sensore (simulando così l’impulso)