Elaborazione del programma utente: Immagini di processo

Una parte della RAM della CPU è destinata al compito di fungere da memoria intermedia per l’accesso alla periferia. Questa memoria prende il nome di immagine di processo e si divide in due parti: immagine di processo degli ingressi ed immagine di processo delle uscite (nel seguito denominate solo immagine degli ingressi ed immagine delle uscite).

Prima dell’elaborazione del programma utente, tutti gli ingressi del PLC vengono letti ed il loro stato viene copiato nell’immagine degli ingressi. Al termine dell’elaborazione del programma utente, la memoria immagine delle uscite è ricopiata nelle uscite del PLC.

Durante l’elaborazione del programma, ogni acceso agli ingressi o alle uscite non viene riferito all’effettivo canale fisico ma ad un bit, corrispondente a quel canale, nella memoria immagine di processo. Quando si richiede la lettura di un ingresso, quello che si legge è in realtà un bit di memoria che, in precedenza, è stato copiato dall’ingresso effettivo. Quando si scrive su un’uscita, in realtà non si scrive direttamente sul canale di uscita, ma viene scritto un bit di memoria che solo successivamente verrà ricopiato sul canale fisico di uscita. Vedremo come si possa anche scrivere un ingresso e leggere un’uscita, ma questo non cambia i termini della questione.

Il microprocessore all’interno del PLC dovrà pertanto dividere il suo tempo tra diversi compiti: eseguire il Sistema operativo, aggiornare l’immagine degli ingressi, eseguire il programma applicativo e trasferire l’immagine delle uscite. Il diagramma a torta della Figura 57 illustra queste attività. Il senso di percorrenza del diagramma è quello illustrato dalla freccia. Le rispettive percentuali di tempo sono del tutto casuali ed, in particolare, quella dedicata all’esecuzione del programma utente è variabile con le dimensioni dello stesso cioè, in generale, quanto più lungo è il programma tanto più tempo occorrerà alla CPU per eseguirlo (escludendo da questa considerazione i programmi che contengono operazioni di salto.

ripartizione tempo del microprocessore del PLC

^