Vai al contenuto
PLC Forum


PRIME ARMI, PLC S7-1200 e TIA PORTAL


salernozz

Messaggi consigliati

Buongiorno o buonasera sono un nuovo arrivato e da poco ho iniziato a lavorare in un azienda che vorrebbe implementare il plc. 2 problemi:

1- sono appena uscito di scuola, quindi diciamo che ho le ''basi'' scolastiche di un itis elettrotecnico.

2- in azienda sono l' unico che ''sa gestirsi'' il plc.

 

Farò moltissime domande col tempo, soprattutto ciò che ritenete voi banale e veramente basilare. Vi prego di capirmi. 

 

La domanda è la seguente:

 

Come leggo gli ingressi analogici (volt o ampere) ? Dove posso salvarli? Perché in quelle memorie? Che memorie ci sono e qual è la loro differenza?

Noi a scuola utilizzavamo il move, ma programmavamo (quasi) sempre su carta! Ora mi ritrovo a dover usare un software che OH MIO DIO è un casino impararlo da solo.

 

Utilizzo TIA Portal quindi se potete richiamatemi a quelle configurazioni e come leggere gli ingressi analog su questo software.

 

Vi prego di utilizzare un linguaggio adatto senza complicarsi troppo dato che sono un mezzo principiante.. nel caso emerga la necessità approfondire qualche argomento ditemelo pure che nel caso cercherò di approfondirlo o domandarvi direttamente.

 

Grazie nel caso mi rispondiate.

Link al commento
Condividi su altri siti


3 ore fa, salernozz scrisse:

Come leggo gli ingressi analogici (volt o ampere) ? Dove posso salvarli? Perché in quelle memorie? Che memorie ci sono e qual è la loro differenza?

Non stai chiedendo qualche informazione, ma un corso accelerato.

Partiamo dall'ultima domanda: "Che memorie ci sono e qual è la loro differenza?"
Nei PLC Siemens puoi memorizzare i dati nell'area M (ma te lo sconsiglio vivamente), oppure nei Blocchi Dati (DB).
Le variabili all'interno dei DB le devi dichiarare tu, assegnando un nome e un formato, secondo le tue esigenze. Senza inoltrarci in formati più complessi (Variant, Any, ed altro), i formati disponibili sono i classici previsti più o meno in informatica. Abbiamo quindi variabili "Bool" (1 bit), byte, sint, usint (8 bit), word, int, uint (16 bit), dword, dint, udint, real (32 bit), lword, lint, ulint, lreal (64 bit).
Queste variabili, nel DB, le puoi anche raggruppare in strutture, array, array di strutture, array di array, strutture di array, o fare un minestrone a tua scelta. Ma qui ci addentriamo già su qualcosa di più complicato.
Puoi decidere inoltre se devono essere ritentive (se spegni e riaccendi il PLC viene mantenuto l'ultimo valore), oppure no.
Il linea di massima, salvo superare il limite di un singolo DB, potresti anche fare un solo DB dove ci butti dentro tutte le variabili che ti servono. Questo però è altamente sconsigliato. La cosa buona dei DB è che ne puoi fare quanti ne vuoi (non è vero, ma il limite è molto elevato), e ti conviene quindi creare diversi DB per suddividere le variabili in base alla loro funzione.
Solo per fare un esempio, potresti fare un DB con le variabili di setup, un DB con le variabili di lavoro, un DB con le variabili di interfacciamento con il pannello operatore, un DB con le variabili di allarme, e così via.
"Dove posso salvarli?" - "Perché in quelle memorie?"
Come già accennato, potresti usare anche l'area M, ma l'area M è piuttosto limitata ed è adatta prevalentemente all'uso come variabili booleane (merker). La tendenza però è quella di usare sempre meno anche i merker, o di utilizzarli solo per cose comuni, tipo i merker di clock o di sistema. L'utilizzo dei merker va comunque bene su piccoli programmi. Quando le cose si fanno più articolate, con macchine o impianti suddivisi in molte parti, meglio che ogni parte abbia le sue variabili all'interno di DB (o DB di istanza, se utilizzi le FB). Questo facilita le cose anche se devi copiare una parte di programma per un nuovo lavoro.

Per copiare il valore da un canale analogico ad una variabile di un DB, usi l'istruzione MOVE in KOP. In SCL l'assegnazione viene fatta con ":=".

Per l'interpretazione dei valori letti dai canali analogici, si deve prima di tutto sapere che tipo di segnale e che tipo di modulo stiamo usando.
Per esempio, se colleghi una termoresistenza ad un modulo RDT, leggi direttamente la temperatura in decimi di °C (oppure in decimi di °F, secondo l'impostazione fatta nella configurazione hardware).
Per gli altri segnali (parliamo solo dei più classici), il valore del canale analogico va sempre da 0 a 27648 (6C00 in Hex), oppure ± 27648 se il segnale è bipolare (che, per i segnali analogici non è una malattia da curare con il litio 😉 ).

Quindi, se hai un segnale analogico 0..10 V, sul rispettivo canale analogico leggerai 0..27648.
Se il segnale è 4..20 mA, stessa cosa: con 4 mA leggerai 0, con 20 mA leggerai 27648.

Se il segnale è ±10 V, leggerai - 27648 con segnale -10 V, 0 con segnale 0 V, +27648 con segnale +10 V.

Di solito (per non dire sempre) i valori letti dai canali analogici vengono scalati (o normalizzati, trasformati, convertiti, come più ti piace definire l'operazione) in "valori ingegneristici".
Per esempio, se hai un trasduttore di pressione 4..20 mA, con campo di misura 0..10 bar, nel PLC farai un semplice calcolo, in modo da convertire 0..27648 in 0..10 bar.

 

Per ora, penso possa bastare.

Link al commento
Condividi su altri siti

va benissimo, oggi faro prove e prove cercando di leggere un sensore che rileva il CO2, speriamo bene..

 

grazie mille e scusi se le sono stato troppo addosso!!

 

Link al commento
Condividi su altri siti

Prima di metterti a leggere un sensore così complesso, fai una prova collegando un banale potenziometro, in questo modo potrai "toccare con mano" cosa vuol dire convertire un segnale da analogico a digitale.

 

Link al commento
Condividi su altri siti

appena fatto!!!!! tutto ok e a buon fine.

ora cercherò di focalizzarmi su i formati, sulle memorie, su come utilizzarle, per poi passare ai veri e propri ingressi analogici.

 

avreste qualche consiglio su dove reperire questi argomenti? Trattati naturalmente come se fossero ''una cosa nuova''

 

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...