I2C 1Wire Modul in Codesys ansprechen

lounsome
2016-10-28
2019-01-21
  • lounsome - 2016-10-28

    Hallo Leute,

    bin seit kurzem auf den Codesys-Zug aufgesprungen und hab nun meine ersten Problemchen.
    Ich hab schon seit langem einen Raspberry Pi 2 mit einem aufgesetztem I2C-Modul am laufen,
    das funktioniert eigentlich recht gut, aber Visualisiert bekomme ich das nicht sauber.
    Schon einiges durchprobiert, unter anderem FHEM und eigen gebasteltes HTML-Seitchen, diese arbeiten über das owfs (1wire file system).

    Mit Codesys währe das schon um einigeres komfortabler.
    Als I2C-Modul hab ich dieses hier:
    Von: https://www.modmypi.com/raspberry-pi/breakout-boards/owfs-1-wire/r-pi-i2c-1-wire-owfs-expansion-module-
    An dem hängen 20 http://www.etotalhaus.de/product/temperatur-sensor-ds18b20-1-wire-1m-92/ DS18B20
    Vieleicht hat von euch jemand eine Idee, wie ich die zum laufen bringe.

    Gruß lounsome

    IMG: Bild

     
  • eschwellinger

    eschwellinger - 2016-10-30

    Hi,

    es gibt zwei Möglichkeiten:
    1. Den bestehen Treiber OWFS Treiber verwenden und nur die Werte lesen
    also versuchen den Pfad anzupassen an der CODESYS die Sensoren im Filesystem ließt:

    Ganz unabhängig von CODESYS also erst mal:
    hier steht wie man den Linuxseitig installiert und aktiviert
    https://wiki.m.nu/index.php/OWFS_with_i ... sh_version

    cat /mnt/1wire/10.F6877C010800/temperature

    So den Treiber der in CODESYS verbaut ist wird ja auch ähnlich von einem Linux Kernel Modul versorgt
    und wir lesen in CODESYS hier:
    cat /sys/devices/w1_bus_master1/28-000444149aff/w1_slave
    dann kommen die Sensorwerte so:
    c2 01 55 00 7f ff 0c 10 95 : crc=95 YES
    c2 01 55 00 7f ff 0c 10 95 t=28125

    Eventuell muss mal also die Bibliothek ändern (vielleicht sogar erweitern das die beides kann) die ja hier offen liegt:

    "c:\Users\<deinwindowsusername>\CODESYS Control for Raspberry PI\3.5.9.10\Libraries\OneWire_DS18B20.library" </deinwindowsusername>

    Wie man mit Libs arbeitet steht im englischen FAQ (zwei CODESYS Instanzen öffnen usw...)

    die 2. Möglichkeit aber das ist denke ich aufwendiger wäre in diesem Fall einen I2c Treiber schreiben.
    Also den teil aus dem Link ersetzen.
    Grüße
    Edwin

     
  • lounsome - 2016-10-30

    das ist sehr schade, ich hatte gehoft, das es da irgend was gibt.
    Den 1-Wire über GPIO-Pins ansprechen ist sehr unzuverlässig,
    deshalb hab ich mir dieses I2C-Modul besorgt.
    Hier kann man auch jenseits der 20 St. DS18B20 noch zuverlässig
    Messwerte erwarten.

     
  • eschwellinger

    eschwellinger - 2016-10-30

    ähm ..... ja ich hab ja nirgends geschrieben das es nicht geht... du must halt die Lib anpassen oder eben direkt die
    Sensoren im OWFS lesen... aus der Applikation das wird auch gehen.

    Grüße
    Edwin

     
  • lounsome - 2016-10-31

    a so, in wie weit muss ich die Lib ändern,
    damit sie auf z.B. "/mnt/1wire/28.FF8518651401/" zugreifen kann?

    Mit was kann ich die Lib bearbeiten?

    Danke für deine Hilfe.

     
  • Anonymous - 2016-11-02

    Originally created by: PI-Beginner

    Hallo,

    was ich jetzt nicht ganz verstanden habe warum du nicht der Standard 1Wire-Bus auf Pin 4 mit den Libs verwenden willst?
    Das funktioniert sehr zuverlässig und klappt mit den Anleitungen von Edwin sofort.

    Gruß

    Jan

     
  • lounsome - 2016-11-02

    Funktioniert bei mir nicht zuverlässig mit Standard-1Wire (Pin 4).
    Habs eingehend getestet und nur mit I2C incl. ext. 5V Spg.-Versorgung hatte
    ich ein gutes Ergebnis.

     
  • Ricard - 2019-01-20

    Hallo. Gibt es die Möglichkeit 1Wire Temperatursensoren DS18B20 auf einem OWFS Server mit Codesys zu lesen?
    Der OWFS Server hat zum Beispiel die IP Adresse 192.168.1.200:2121. Könnt Ihr mir da weiter helfen?
    Mfg Ernest

     
  • eschwellinger

    eschwellinger - 2019-01-21

    Hi,
    denke dazu musst du mal einen Link des Gerätes posten!
    Grüße
    Edwin

     
  • Ricard - 2019-01-21

    Hallo Edwin,
    Danke für die Schnelle Antwort. Mein OWFS Server besteht aus einem Raspberry Pi + USB 1Wire Adapter DS9490. Auf diesem Rpi läuft die OWFS Software von OWFS.org. Mein Codesys Runtime läuft auf einem anderen Rpi. Beide Rpi sind per Netzwerk verbunden. Ich nutze im Moment Codesys V3.5 SP12
    Grüße Ernest

     

Log in to post a comment.