PI B+, alle freien GPIO ansteuern

2015-09-14
2016-01-03
  • flieger.h.j - 2015-09-14

    Hallo zusammen,
    ich möcht alle freien GPIO's vom Pi B+ ansteuern und zwar einmal 8 als Eingänge und 8 als Ausgänge,
    verwenden möchte ich die GPIO's 4, 5, 6, 12, 13, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26
    In der GPIO Konfig sind aber nicht alle vorhanden, bzw. tauchen dort nur 12 auf teilweise mit anderen
    Namen GPIO 28-31, kann mir da jemand Unterstützung geben.

    mfg
    Flieger H.J.

     
  • eschwellinger

    eschwellinger - 2015-09-16

    Hi,

    na also du kannst die Bibliothek ja "customizen" also so anpassen wie du es für deine Anwendung brauchst:
    "c:\Users\<deinwindowsusername>\CODESYS Control for Raspberry PI\2.2.0.1\Libraries\IoDrvGPIO.library"
    Wir können da niemals alle möglichen Varianten abdecken.
    Grüße
    Edwin</deinwindowsusername>

     
  • flieger.h.j - 2015-09-17

    Hi Edwin,

    erstmal danke für die Info, werde mal schon ob ich damit zurecht komme

    mfg
    Flieger.H.J

     
  • Robin Braun - 2015-12-04

    Hallo,

    im Rahmen eines Automatisierungsprojektes an meiner Hochschule benötige ich für eine Steuerung 12 Outputs und 6 Inputs (welche mein PI hat, im Codesys aber nicht projektiert werden können), habe also das gleiche Problem. Nun will ich mir nicht zusätzliche Hardware besorgen um noch ein paar weitere GPIOs zu bekommen und will daher an der Software etwas ändern.
    Wie genau funktioniert das Ändern der Bibliothek "IoDrvGPIO.library"?
    Doppelklick startet Codesys (mit der Fehlermeldung, dass einige Bibliotheken nicht geladen werden konnten) und hinter der Registerkarte "POUs" verbirgt sich ein Baum mit einigen Seiten Programm-Text, wo ich nichts bezüglich der GPIOs finden konnte, ein kleiner Hinweis würde mir da weiterhelfen.
    Meine Codesys-Version ist 3.5 SP7 Patch 2.

    Nachdem ich die Bibliothek geändert habe muss ich noch die Runtime auf dem PI updaten?

    MfG Robin

     
  • eschwellinger

    eschwellinger - 2015-12-05

    Hi,
    du öffnest in einer CODESYS Instanz
    "c:\Users\<deinwindowsusername>\CODESYS Control for Raspberry PI\2.2.0.2\Libraries\IoDrvGPIO.library" </deinwindowsusername>

    in der zweiten CODESYS Instanz:
    "c:\Users\<deinwindowsusername>\CODESYS Control for Raspberry PI\2.2.0.2\Examples\GPIO.project"
    also dein Testprojekt mit dem du die Änderungen testen/debuggen willst</deinwindowsusername>

    Nun machst du Änderungen in Instanz 1 (also welches die Bibliothek offen hat) drückst auf den gelben Button Bibliothek speichern und in Bibliotheks Repositiory installieren
    Dann siehst du in der zweiten CODESYS Instanz im Meldungsfenster das eine neue Bibliothek installiert wurde - loggst dich aus und übersetzt dein Projekt neu - einloggen
    und damit sind die Änderungen dann in deinem Testprojekt und du kannst diese überprüfen (auch reinsteppen/debug was auch immer dazu musst du im BibliotheksManager von Instanz 2 einen Brakepoint setzen)

    Sollest du auch noch die Gerätebeschreibung der GPIO's anpassen müssen (vielleicht weil zu wenige da drin sind)
    "c:\Users\<deinwindowsusername>\CODESYS Control for Raspberry PI\2.2.0.2\Devices\GPIOs.devdesc.xml"
    mit normalem Editor öffnen... anpassen
    Dann ins CODESYS Geräterepository installieren und dann ganz wichtig damit die Änderungen wirksam werden musst du noch "Gerät aktualisieren" auf dem GPIO connector
    im Gerätebaum ausführen.</deinwindowsusername>

    So hoffe des hilft dir weiter.
    Grüße
    Edwin

    IMG: Savelib_and_install.jpg

     
  • Robin Braun - 2015-12-06

    Wo genau muss ich in der Instanz 1 etwas ändern? Blicke da nicht so ganz durch ehrlich gesagt.

    IMG: Screenshot (1).png

     
  • HProg - 2016-01-02

    Hallo, ich habe das selbe Problem und würde auch gerne die erweiterten GPIO's vom Rpi 2 benutzen (GPIO 5,6,12,13,16,19 ..usw), leider hab ich nichts gefunden wie das geht. Auch bringt mich die Input / Output Konfiguration von GPIO 28 - 31 nicht weiter. Und die Beschreibung von Edwin hab ich leider auch nicht verstanden, da da jemand eine Lösung zu diesen Problem?

    Nachtrag:
    Nachdem ich die Version 3.5 SP8 erfolgreich installiert habe ist alles ganz einfach. "rechts Klick" auf das Gerät GPIOs --> "Gerät aktualisieren" anwählen --> GPIOs B+/Pi2 auswählen und alles ist gut.

    Hoffe damit jemanden geholfen zu haben.
    HProg

     
  • eschwellinger

    eschwellinger - 2016-01-03

    Hi,

    wenn du die korrekten GPIO's einhängst in der Steuerungskonfiguration,
    dann sollte man 5,6,12... einfach verwenden können ohne irgendwas an den Libs, devices ändern zu müssen.

    Grüße
    Edwin

    IMG: PIB_GPIOs.jpg

    IMG: Pi2_GPIOs.jpg

     

Log in to post a comment.