Home › Forum › Controllori SlimLine e Netsyst (LogicLab) › Connessione dispositivi 1-Wire alla interfaccia nativa su MPS054
- Questo topic ha 2 risposte, 1 partecipante ed è stato aggiornato l'ultima volta 1 mese, 1 settimana fa da
Sergio Bertana.
-
AutorePost
-
Agosto 26, 2026 alle 10:47 am #86523
Anonimo
InattivoStò cercando di collegare un sensore DS18B20 al modello MPS054C110 che ha l’interfaccia 1Wire.
Tutti gli esempi usano la porta seriale con adattatore 1Wire, non ho trovato dettagli su come usare quella nativa su questo modello di PLC.
Agosto 26, 2026 alle 10:48 am #86525Sergio Bertana
Amministratore del forumDovendo acquisire la temperatura tramite un sensore DS18B20, nell’esempio ST_OWRdTemperature, presente nella Knowledge Base relativa al FB OWRdTemperature, trovi un esempio che si adatta perfettamente a questo caso. Come si può vedere nel programma di esempio, sono indicate le due possibili modalità di collegamento:
Sp.COM:=ADR('COM0'); //Convertitore Seriale/1-Wire su porta indicata Sp.COM:=ADR('PCOM255.0'); //Interfaccia 1-Wire nativa sul modulo CPUPer quanto riguarda il tipo di interfaccia, occorre impostare:
OWCore.IType:=OW_ITYPE#OW_ITDS2480B; //Convertitore Seriale/OneWire OWCore.IType:=OW_ITYPE#OW_ITDS2484; //Interfaccia 1-Wire nativaIn pratica l’interfaccia One-wire nativa sul modulo CPU viene vista come una porta seriale PCOM255.0, .
- Convertitore seriale/1-Wire: Definire porta seriale a cui e connesso ed i corretti parametri di comunicazione (Default 9600, n, 8, 1) .
- 1-Wire nativa: Definire porta seriale PCOM255.0, in questa configurazione i parametri della porta seriale non vengono utilizzati. Sono comunque impostati quelli di default 9600, n, 8, 1.
In entrambi i tipi di connessione è importante notare che il segnale DTR della porta seriale è utilizzato per l’attivazione del bus 1-Wire, quindi settandolo a DTR_OFF il bus si disattiva.
Se al bus 1-Wire connetti un solo componente DS18B20 puoi utilizzare la lettura broadcast nel FB OWRdTemperature puoi definire il parametro IDCode=0, se invece vuoi acquisire più dispositivi connessi al bus in daisy chain devi utilizzare più istanze del FB e definire in ogni istanza l’IDCode del dispositivo da acquisire.
Agosto 26, 2026 alle 2:04 pm #86536Sergio Bertana
Amministratore del forumAggiungo che, come visto precedentemente, quando si devono acquisire più dispositivi 1-Wire collegati sullo stesso bus, è necessario conoscere l’IDCode da impostare nel relativo FB di acquisizione.
Se l’IDCode non è noto, può essere rilevato in due modi diversi:
- Utilizzando il FB OWRdIdentifier: In questo caso si connette un unico dispositivo sul bus 1-Wire. Il FB utilizzando il comando Read ROM esegue la lettura del codice e lo ritorna.
- Utilizzando il FB OWSearch: In questo caso è possibile collegare più dispositivi sul bus 1-Wire. Il FB utilizzando il comando Search ROM esegue la scansione di tutti i dispositivi ritornandone il relativo codice.
il programma di esempio ST_OWSearch mostra come effettuare la scansione del bus 1-Wire e rilevare i codici dei dispositivi presenti. In pratica, OWRdIdentifier è indicato quando si deve identificare un singolo dispositivo, mentre OWSearch è la soluzione più adatta quando sul bus sono presenti più dispositivi 1-Wire.
-
AutorePost
- Devi essere connesso per rispondere a questo topic.