Welcome to our new forum
All users of the legacy CODESYS Forums, please create a new account at account.codesys.com. But make sure to use the same E-Mail address as in the old Forum. Then your posts will be matched. Close

Libs und Gerätedatei für TempSensor DS18B20 (1-Wire) und A/D Wandler PCF8591 (I2C) ?

code1986
2022-05-31
2023-06-12
  • code1986 - 2022-05-31

    Hallo in die Runde!

    Ich habe vor kurzem meinen Pi mal wieder rausgekramt, die neueste Raspberry OS (bullseye) aufgsetzt und Codesys installiert.

    Nach einigem hin und her läuft das meiste schon.
    Der 1 Wire TempSensor DS18B20 ist soweit angeschlossen und ich konnte über Powershell schon die Adresse und die Temperatur auslesen.
    Allerdings bekomme ich den DS18B20 in Codesys nicht zum laufen, weil ihm die passende Lib fehlt?
    Diese kann ich aber nicht nicht einfach nachträglich einfügen, nur nen ungebunden Placeholder?
    Scheint ein Versionskonflikt zu sein.

    Auch suche ich nach einer Gerätebeschreibungsdatei (Device) für meinen PCF8591 A/D Wandler inklusive einer passenden Lib?

    Meine Hard- und Software:

    Raspberry B+
    Programmierumgebung Codesys V3.5 SP18+ (3.5.18.0) (64bit)
    Runtime auf Rasperry Version 4.4.0.0

    Ich hatte vor ein paar Jahren mal alles zum laufen bekommen ohne großen Aufwand, aber bei der aktuellen Version gibts ja echt ständig Probleme mit irgendwelchen Libs und anderen Dingen. Nicht schön!

    Ich will selber ein wenig rumspielen, aber vor allem meinen 13 Jährigen Sohn in die Welt der SPS einführen.

    Wäre super wenn mir jemand helfen könnte die fehlenden Libs und Dateien zu finden.

     
  • code1986 - 2022-05-31

    Okay, die alte Regel "Wer lesen kann, ist klar im Vorteil!" hat noch seine Gültigkeit!
    Ich habe im folgenden Faden:

    Raspberry Pi 1-wire DS18B20 Probleme mit Bib

    Ein Archivprojekt von @eschwellinger geöffnet und dann mit gefährlichem halbwissen irgendwas mit Update und Download durchgeführt! :-)
    Jetzt habe ich die passende Lib für meinen TempSensor.
    Läuft auch schon alles.

    Das mit der zweiten notwendigen Task, habe ich jetzt auch kennengelernt.
    Da muss ich noch ein bissle was im Programm schieben, die Maintask wird jetzt "ausgebremst", läuft gefühlt im Sekundentakt.

    Obwohl ich eine zweite Task für die Temperaturabfrage angelegt habe, diese läuft "normal" schnell mit den eingestellten 4ms?!

    @eschwellinger Vielen Dank für das ArchivProjekt und den Tipp mit der zweiten Task!
    Muss jetzt noch die Variablen bzw. Programme hin und her schieben um die Zykluszeiten wieder in Ordnung zu bringen.
    Wird bei der 1 Wire Abfrage nur die Maintask ausgebremst?

    @all Also Problem Nr.1 ist gelöst, bis auf die kleinen Taskprobleme, aber sollte ich wohl selber hinbekommen!

    Wenn mir noch jemand mit dem PCF8591 A/D Wandler weiterhelfen könnte, wäre super! ;-)

     
  • code1986 - 2022-06-01

    Danke für deine sehr schnelle Rückmeldung.
    Habe das Projekt mal geöffnet, aber bekomme die Gerätebeschreibung irgendwie nicht geladen.
    Habe die xml sogar in dem Device Ordner abgelegt, aber wird irgendwie nicht erkannt.
    Auch die Lib scheint irgendwie nicht mehr kompatibel zu sein.
    Eventuell zu alt für die neueste 3.5.18 Version?

     
  • code1986 - 2022-06-01

    Hey, glaube komme jetzt doch weiter.
    Nach erneutem hin und her und Speicherpfade ändern, habe ich jetzt doch die Lib und die Gerätebeschreibung in Codesys reinbekommen.
    Muss nacher mal den PCF8591 anschließen und schauen ob ich es zum laufen bekomme.
    @eschwellinger, vielen Dank nochmal.

     
    • aheile - 2023-06-07

      hast du den DS18B20 unter bullseye zum laufen bekommen?

      Liebe Grüße

       
  • eschwellinger

    eschwellinger - 2023-06-08

    ja geht, welche runtime version verwendest du?

     
    • aheile - 2023-06-09

      ich bin jetzt von der 4.8.0.0 auf die 4.7.0.0 runter.
      Seit dem läuft es...

       
  • eschwellinger

    eschwellinger - 2023-06-12

    wird auch mit 4.9.0.0 behoben - Workdaround wäre die Onewire Filepfade einzutragen:
    in /etc/CODESYSControl.cfg

    [SysFile]
    ..
    ..
    IecFilePath.1=/proc/, cpuinfo
    IecFilePath.2=/proc/, iomem
    PlaceholderFilePath.1=/sys/devices/w1_bus_master1, $OneWire$
    ..

     

Log in to post a comment.