DS18B20 Seriennummer

Support-Forum für Deutschsprachige, die in ihrer Muttersprache schreiben möchten.

Moderator: Benj

Post Reply
Flaterick

DS18B20 Seriennummer

Post by Flaterick »

Hallo
Gibt es eine Möglichkeit die Seriennummer des DS18B20 Auszulesen?
Um so den Temperatur Sensor gezielt im netzwerk abzufragen.

MFG
Matthias

User avatar
Benj
Matrix Staff
Posts: 15312
Joined: Mon Oct 16, 2006 10:48 am
Location: Matrix TS Ltd
Has thanked: 4803 times
Been thanked: 4314 times
Contact:

Re: DS18B20 Seriennummer

Post by Benj »

Hallo Matthias,

Die Seriennummern der angeschlossenen einem Draht-Geräte sind in ein Byte-Array namens DevID gespeichert.

Zum Lesen wieder der Inhalt des Arrays kann man etwas tun, wie dies mit einem C-Code-Symbol, ein Byte-Variable namens idx und ein Byte-Variable namens Byte.

FCV_BYTE = DevID [FCV_IDX];

Wenn Sie setzen dann in einer Schleife in Flowcode und erhöhe den idx variable dann wirst du wieder eingelesen den ROM-Code. Jede ROM-Code verwendet 8 Byte und maximal 8 separate Codes können in dem Array gespeichert werden.


Hello Matthias,

The serial numbers of the connected one wire devices are stored in a byte array named DevID.

To read back the contents of the array you can do something like this using a C code icon, an byte variable named idx and a byte variable named byte.

FCV_BYTE = DevID[FCV_IDX];

If you then put this inside a loop in Flowcode and increment the idx variable then you will read back the ROM code. Each ROM code uses 8 bytes and a maximum of 8 separate codes can be stored in the array.

Flaterick

Re: DS18B20 Seriennummer

Post by Flaterick »

Hallo

Können sie mir ein Beispiel machen?
Hab leider keine große Ahnung von Flowcode und C, arbeite mich erst langsam ein.

Mfg
Matthias

Flaterick

Re: DS18B20 Seriennummer

Post by Flaterick »

Hallo

Habe es jetzt ausprobiert und bekomme leider nur nullen zurück.
Könnte mir jemand helfen!

MFG
Matthias
Attachments
DS18B20 Serial.fcf
(10 KiB) Downloaded 325 times

User avatar
Benj
Matrix Staff
Posts: 15312
Joined: Mon Oct 16, 2006 10:48 am
Location: Matrix TS Ltd
Has thanked: 4803 times
Been thanked: 4314 times
Contact:

Re: DS18B20 Seriennummer

Post by Benj »

Hallo Matthias,

Es kann einen Versuch wert eine andere I / O-Pin werden, gibt es Berichte in der Vergangenheit, dass einige der I / O nicht mit der 1-Draht-Komponente korrekt funktionieren.

Auch können Sie genau sagen, was 1-Draht-Gerät Sie verwenden. Es gibt eine Menge von Geräten mit unterschiedlicher Leistung, sondern eine sehr ähnliche Teilenummer.


Hello Matthias,

It may be worth trying a different I/O pin, there have been reports in the past that some of the I/O do not work with the 1-wire component correctly.

Also can you say exactly which 1-wire device you are using. There are a lot of devices with different outputs but a very similar part number.

Flaterick

Re: DS18B20 Seriennummer

Post by Flaterick »

Hallo

Ich hab es an verschiedenen Port Pins ausprobiert, immer das gleiche Ergebnis (bekomme nur Nullen zurück) die Temperatur wird richtig ausgelesen.
Ich verwende DS18B20, ein DS1820 geht nicht.

Mfg
Matthias

User avatar
Benj
Matrix Staff
Posts: 15312
Joined: Mon Oct 16, 2006 10:48 am
Location: Matrix TS Ltd
Has thanked: 4803 times
Been thanked: 4314 times
Contact:

Re: DS18B20 Seriennummer

Post by Benj »

Hallo Matthias,

Ok, ich glaube, ich sehe das Problem. Damit das Gerät das ROM-Code zu lesen müssen Sie rufen Sie die oo_scanbus Funktion. Ich habe die Extra-Funktion aufrufen in dem beigefügten Programm.

Lassen Sie mich wissen, wie Sie zu erhalten.


Hello Matthias,

Ok I think I see the problem. To allow the device's ROM code to be read you must call the oo_scanbus function. I have included the extra function call in the attached program.

Let me know how you get on.
Attachments
DS18B20 Serial.fcf
(14 KiB) Downloaded 375 times

Flaterick

Re: DS18B20 Seriennummer

Post by Flaterick »

Hallo

Funktioniert leider auch nicht, auch nicht an verschiedenen 1/0 Pin.

MFG
Matthias

Post Reply