CODESYS - das IEC 61131-3 Programmiersystem

Willkommen im offiziellen CODESYS - Forum von 3S-Smart Software Solutions | A member of the CODESYS Group
Deutsche Version English version russian version 
Aktuelle Zeit: Do Nov 14, 2019 7:05 am

Alle Zeiten sind UTC




Ein neues Thema erstellen  Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: MCP23017 als Ausgang konfigurieren
BeitragVerfasst: So Feb 17, 2019 4:15 pm 
Offline

Registriert: So Jan 17, 2016 6:45 pm
Beiträge: 18
In einem Lehrertrainingsprojekt der deutschen Entwicklungszusammenarbeit wird der Raspberry PI 2 B mit Codesys V3.5 Sp14 eingesetzt. Neben einem Horter&Kalb digitalem Eingangsmodul wird auch ein MCP23017 verwendet. Der Baustein soll die benötigten digitalen Ausgänge zur Verfügung stellen. Das kleine Testprogramm (Bild 1) funktioniert nur, wenn ich vorher ein i2cdump dausgeführt habe und auch nur solange ich in Codesys das Programm nicht gestoppt habe. Nach dem erneuten Start muss ich wieder ein i2cdump durchführen, bevor er Ausgang reagiert.
Die Testprogramme, die ich im Forum gefunden habe funktionieren bei mir auch nicht.

P.S. Ein Testprogramm in Phyton funktioniert problemlos, so dass ich davon ausgehe, dass kein Hardwarefehler vorliegt. Der Raspberry ist auch komplett aktualisiert.

Ich hoffe, dass jemand im Forum eine Lösung meines Problems hat und bedanke mich schon einmal im Voraus.


Dateianhänge:
2.jpg
2.jpg [ 54.2 KiB | 779 mal betrachtet ]
1.jpg
1.jpg [ 39.91 KiB | 779 mal betrachtet ]
Nach oben
   
BeitragVerfasst: So Feb 17, 2019 5:30 pm 
Offline

Registriert: Do Mai 10, 2018 2:50 pm
Beiträge: 9
Hallo JJoe,

so wie ich das verstehe, schreibst du in jedem Zyklus die Konfiguration an MCP raus. Ich vermute IO_B ist bei der Register 01.
Die Konfiguration reicht, wenn diese einmalig gesetzt wird. Des weiteren empfiehlt es sich (wer mag) den geschriebenen Befehl erneut einzulesen, um sicher zu stellen, dass hier der korrekte Initialisierungswert übertragen wurde. By the Way... du mappst den Eingang direkt auf den Ausgang. Versuche erstmals dies mit einer Boolschen Variable. Um einzugrenzen ob dein Eingang nicht übertragen wird oder der Ausgang ein Problem hat.


Gruß


Nach oben
   
BeitragVerfasst: Mo Feb 18, 2019 11:23 am 
Offline

Registriert: So Jan 17, 2016 6:45 pm
Beiträge: 18
Hallo Michi,
vielen Dank für deine schnelle Antwort.
Das Codesys Programm funktioniert so wie es programmiert ist. Aber nur dann, nachdem ich in einem Raspberry Terminal den Befehl i2cdump -y 1 0x24 durchgeführt habe. Und nur solange, bis ich das Codesys Programm stoppe.
Viele Grüße
JJoe


Nach oben
   
BeitragVerfasst: So Feb 24, 2019 12:37 pm 
Offline

Registriert: Do Mai 10, 2018 2:50 pm
Beiträge: 9
Hallo,

hört sich unterm Strich so an, als würde Codesys deinen I2C nicht korrekt initialisieren, bzw. funktioniert nur der erste Teilnehmer nicht, oder beide, oder nur der zweite als Ausgang?!
Mit dem I2cdump machst du unterm Strich nichts anderes, als ein Register lesen vom MCP23007. Es wäre wesentlich einfacher, wenn der Quellcode von deinem MCP23007 hier abgebildet wäre. Ich vermute, dass hier deine Ansteuerung in der Lib nicht korrekt ist. Was ich mir vorstellen könnte, das mit dem i2cdump die Adresse "irgendwie" gesetzt wird und du darüber Zugriff hast. Bei Stop, bzw. Reset ist diese natürlich dann 0. Das Codeschnippsl :-) von dir ist an der Stelle nicht aussagekräftig...


Nach oben
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 4 Beiträge ] 

Alle Zeiten sind UTC


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.
Sie dürfen keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
Powered by phpBB® Forum Software © phpBB Limited
Deutsche Übersetzung durch phpBB.de