Guten Tag,
seit neustem beschäftige ich mich mit dem Raspberry und der Codesys Entwicklungsumgebung v3.5 SP4.
Mein Vorhaben ist, die Raspberry Schnittstellen zu erweitern. Momentan Funktioniert soweit alles, Kommunikation zwischen Raspberry und Codesys läuft, sowie die Beispielprojekte die mitgeliefert wurden…
Da mir die GPIOs nicht reichten möchte ich gerne diese mit folgendem Baustein erweitern.
MCP23017 I/O Expander. Der MCP23017 wird über den I²C Bus an die entsprechenden Pins angeschlossen.
Soweit müsste ich alles richtig gemacht haben. Der Raspberry erkennt ihn zumindest.
Problem ist, das ich es über Codesys nicht hinbekomme-.-.
Wie in der PDF beschrieben wurde, habe ich mir eine „MCP23017.devdesc.xml“, sowie eine Libary „MCP23017.library“ erstellt, auf Basis einer Kopie von „SRF02.devdesc.xml“ und „I2C_SRF02.library“.
In der Methode AfterReadInputs sollten Sie die Eingangsdaten des Geräts auslesen. Verwenden Sie für die Übermittlung die BasisMethoden des FBs i2c (read8, write8, etc.) bzw. spi (transfer)In der Methode BeforeWriteOutputs sollten Sie die Ausgangsdaten übertragen.
Ich glaube mein Fehler liegt darin, dass ich hier entsprechende Parameter eintragen muss um
Den Baustein bzw. die Port anzusprechen oder?
Anbei findet ihr die Dateien, hoffe ihr könnt mir helfen.
Vielleicht hat sich bereits jemand mit dem MCP23017 auseinander gesetzt und hat es hinbekommen^^
ich habe auch Schwierigkeiten mit dem MCP23017. XML und Libary wurden ebenfalls wie bei nexus161 erstellt und eingefügt.
Das Problem hierbei sind folgende Fehlermeldungen auf die ich mir keinen Reim bilden kann. Ich habe schon viel rumprobiert, aber ich weis nicht was ich ändern muss, damit der FB instanziert werden kann.
Hallo,
wenn du in deiner Gerätebeschreibung das Leerzeichen hinter dem Namen bei Requiredlib entfernst, fügt CODESYS die Bibliothek korrekt ein
und das Testprojekt (leeres mit nur dem Gerät) übersetzt dann fehlerfrei.
Wenn du deine Gerätebeschreibung änderst, bitte wieder ins Geräterepository installieren und mit rechtsclick auf deinem I2C Gerät und 'Gerät aktualisieren' ausführen (dann wird die neue genommen)-
->Dann kannst du weiter entwickeln.
Hier steht wie mán das am besten macht mit zwei Instanzen eine hat das Testprojekt die andere die Bibliothek geöffnet usw..
(http://forum.codesys.com/viewtopic.php? ... 677#p10677) aber vermutlich kennst du das schon.
Grüße
Edwin
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Ich möchte ebenfalls den MCP23017 am RPi betreiben.
Funktioniert es mit den beiden Dateien oben von nexus161 oder sind die anderen von jungsa besser?
Ich bekomme sie aber nicht in mein Geräte-Repository installiert. Dort erscheinen nur die anderen Erweiterungen, die von 3s mitgeliefert werden.
Und in welches Verzeichnis müssen die beiden Dateien hinein?
Vielen Dank schon mal
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Guten Tag,
seit neustem beschäftige ich mich mit dem Raspberry und der Codesys Entwicklungsumgebung v3.5 SP4.
Mein Vorhaben ist, die Raspberry Schnittstellen zu erweitern. Momentan Funktioniert soweit alles, Kommunikation zwischen Raspberry und Codesys läuft, sowie die Beispielprojekte die mitgeliefert wurden…
Da mir die GPIOs nicht reichten möchte ich gerne diese mit folgendem Baustein erweitern.
MCP23017 I/O Expander. Der MCP23017 wird über den I²C Bus an die entsprechenden Pins angeschlossen.
http://www.elektronx.de/tutorials/porte ... 7-und-i2c/
Soweit müsste ich alles richtig gemacht haben. Der Raspberry erkennt ihn zumindest.
Problem ist, das ich es über Codesys nicht hinbekomme-.-.
Wie in der PDF beschrieben wurde, habe ich mir eine „MCP23017.devdesc.xml“, sowie eine Libary „MCP23017.library“ erstellt, auf Basis einer Kopie von „SRF02.devdesc.xml“ und „I2C_SRF02.library“.
In der Methode AfterReadInputs sollten Sie die Eingangsdaten des Geräts auslesen. Verwenden Sie für die Übermittlung die BasisMethoden des FBs i2c (read8, write8, etc.) bzw. spi (transfer)In der Methode BeforeWriteOutputs sollten Sie die Ausgangsdaten übertragen.
Ich glaube mein Fehler liegt darin, dass ich hier entsprechende Parameter eintragen muss um
Den Baustein bzw. die Port anzusprechen oder?
Anbei findet ihr die Dateien, hoffe ihr könnt mir helfen.
Vielleicht hat sich bereits jemand mit dem MCP23017 auseinander gesetzt und hat es hinbekommen^^
MFG
MCP23017.devdesc.xml [2.35 KiB]
MCP23017.library [337.29 KiB]
Hallo,
ich habe auch Schwierigkeiten mit dem MCP23017. XML und Libary wurden ebenfalls wie bei nexus161 erstellt und eingefügt.
Das Problem hierbei sind folgende Fehlermeldungen auf die ich mir keinen Reim bilden kann. Ich habe schon viel rumprobiert, aber ich weis nicht was ich ändern muss, damit der FB instanziert werden kann.
Ich hoffe mir kann jemand helfen.
Vielen Dank im Voraus und ein schönes Wochenende.
MCP23017.devdesc.xml [2.43 KiB]
I2C_MCP23017.library [341.61 KiB]
Hallo,
wenn du in deiner Gerätebeschreibung das Leerzeichen hinter dem Namen bei Requiredlib entfernst, fügt CODESYS die Bibliothek korrekt ein
und das Testprojekt (leeres mit nur dem Gerät) übersetzt dann fehlerfrei.
Wenn du deine Gerätebeschreibung änderst, bitte wieder ins Geräterepository installieren und mit rechtsclick auf deinem I2C Gerät und 'Gerät aktualisieren' ausführen (dann wird die neue genommen)-
->Dann kannst du weiter entwickeln.
Hier steht wie mán das am besten macht mit zwei Instanzen eine hat das Testprojekt die andere die Bibliothek geöffnet usw..
(http://forum.codesys.com/viewtopic.php? ... 677#p10677) aber vermutlich kennst du das schon.
Grüße
Edwin
Hallo
Ich möchte ebenfalls den MCP23017 am RPi betreiben.
Funktioniert es mit den beiden Dateien oben von nexus161 oder sind die anderen von jungsa besser?
Ich bekomme sie aber nicht in mein Geräte-Repository installiert. Dort erscheinen nur die anderen Erweiterungen, die von 3s mitgeliefert werden.
Und in welches Verzeichnis müssen die beiden Dateien hinein?
Vielen Dank schon mal
ich habe noch mal eine Frage zum ansteuern der Ausgänge und einlesen der Eingänge. Programmiere in FUP.
der I2C Bus läuft, die Bibliothek ist richtig eingebunden und den MCP23017 hab ich auf 0x20 gesetzt.
Läuft die Ansteuerung so ähnlich wie dies: i2cset -y 0 0x20 0x14 0x00
programmiert hier keiner in FUP ? Bekomme den GPA0 als Ausgang nicht geschaltet
Hallo Rasenmuster,
http://forum-de.codesys.com/viewtopic.php?f=18&t=4743
Viele Grüße Mathias
danke mawi =)