In den beiden Beispielprogrammen
- Horter_Kalb_Raspi_Support_FB_Example.Project
- Horter_Kalb_Raspi_Support_IO_driver_Example.Project
sind jeweils eine Baugruppe mit der Basisadresse projektiert.
- I2HE – digitale Eingangskarte mit PCF 8574A = Adresse 38hex
- I2HA – digitale Ausgangskarte mit PCF 8574 = Adresse 20 hex
- I2HAE – analoge Eingangskarte = Adresse 08hex
- I2HAA – analoge Ausgangskarte = Adresse 58 hex
Sollen weitere Karten mit Codesys angesprochen werden müssen diese im I2C-Master angelegt bzw. kopiert werden.
Ausnahme:
Falls Sie die Module über unsere Funktionsbausteine ansprechen möchten, dürfen diese NICHT im Hardwarebaum eingesetzt sein.
Siehe auch Artikel Funktionsbausteine für Codesys
Baugruppen im I2C-Master kopieren
Baugruppen adressieren
Wichtig:
Im Feld „Hardware address“ muss die I2C-Slaveadresse in dezimal als 7-Bit Adresse eingetragen werden.
Auf unseren Baugruppen sind die Adressen im 8-Bit dezimal Format aufgedruckt.
Hier die Adressen der Baugruppen als Tabelle.
Im CODESYS muss die 7-Bit Adresse als Dezimalzahl eingetragen werden.
I2HA – digitale Ausgangskarte mit PCF 8574
PCF8574 | 8-Bit dez | 8-Bit hex | 7-Bit dez | 7-Bit hex |
OFF OFF OFF | 64 | 40 | 32 | 20 |
OFF OFF ON | 66 | 42 | 33 | 21 |
OFF ON OFF | 68 | 44 | 34 | 22 |
OFF ON ON | 70 | 46 | 35 | 23 |
ON OFF OFF | 72 | 48 | 36 | 24 |
ON OFF ON | 74 | 4A | 37 | 25 |
ON ON OFF | 76 | 4C | 38 | 26 |
ON ON ON | 78 | 4E | 39 | 27 |
I2HE – digitale Eingangskarte mit PCF 8574A
PCF8574A | 8-Bit dez | 8-Bit hex | 7-Bit dez | 7-Bit hex |
OFF OFF OFF | 112 | 70 | 56 | 38 |
OFF OFF ON | 114 | 72 | 57 | 39 |
OFF ON OFF | 116 | 74 | 58 | 3A |
OFF ON ON | 118 | 76 | 59 | 3B |
ON OFF OFF | 120 | 78 | 60 | 3C |
ON OFF ON | 122 | 7A | 61 | 3D |
ON ON OFF | 124 | 7C | 62 | 3E |
ON ON ON | 126 | 7E | 63 | 3F |
I2HAE – analoge Eingangskarte
Analog IN | 8-Bit dez | 8-Bit hex | 7-Bit dez | 7-Bit hex |
OFF OFF OFF OFF | 16 | 10 | 8 | 08 |
OFF OFF OFF ON | 18 | 12 | 9 | 09 |
OFF OFF ON OFF | 20 | 14 | 10 | 0A |
OFF OFF ON ON | 22 | 16 | 11 | 0B |
OFF ON OFF OFF | 24 | 18 | 12 | 0C |
OFF ON OFF ON | 26 | 1A | 13 | 0D |
OFF ON ON OFF | 28 | 1C | 14 | 0E |
OFF ON ON ON | 30 | 1E | 15 | 0F |
ON OFF OFF OFF | 48 | 30 | 24 | 18 |
ON OFF OFF ON | 50 | 32 | 25 | 19 |
ON OFF ON OFF | 52 | 34 | 26 | 1A |
ON OFF ON ON | 54 | 36 | 27 | 1B |
ON ON OFF OFF | 56 | 38 | 28 | 1C |
ON ON OFF ON | 58 | 3A | 29 | 1D |
ON ON ON OFF | 60 | 3C | 30 | 1E |
ON ON ON ON | 62 | 3E | 31 | 1F |
I2HAA – analoge Ausgangskarte
Analog OUT | 8-Bit dez | 8-Bit hex | 7-Bit dez | 7-Bit hex |
OFF OFF OFF OFF | 176 | B0 | 88 | 58 |
OFF OFF OFF ON | 178 | B2 | 89 | 59 |
OFF OFF ON OFF | 180 | B4 | 90 | 5A |
OFF OFF ON ON | 182 | B6 | 91 | 5B |
OFF ON OFF OFF | 184 | B8 | 92 | 5C |
OFF ON OFF ON | 186 | BA | 93 | 5D |
OFF ON ON OFF | 188 | BC | 94 | 5E |
OFF ON ON ON | 190 | BE | 95 | 5F |
ON OFF OFF OFF | 208 | D0 | 104 | 68 |
ON OFF OFF ON | 210 | D2 | 105 | 69 |
ON OFF ON OFF | 212 | D4 | 106 | 6A |
ON OFF ON ON | 214 | D6 | 107 | 6B |
ON ON OFF OFF | 216 | D8 | 108 | 6C |
ON ON OFF ON | 218 | DA | 109 | 6D |
ON ON ON OFF | 220 | DC | 110 | 6E |
ON ON ON ON | 222 | DE | 111 | 6F |
I2HSM – I2C-Multiplexer mit PCA9544A
Nur mit unserem Funktionsbaustein ansprechbar
PCF8574 | 8-Bit dez | 8-Bit hex | 7-Bit dez | 7-Bit hex |
OFF OFF OFF | 224 | E0 | 112 | 20 |
OFF OFF ON | 226 | E2 | 113 | 71 |
OFF ON OFF | 228 | E4 | 114 | 72 |
OFF ON ON | 230 | E6 | 115 | 73 |
ON OFF OFF | 232 | E8 | 116 | 74 |
ON OFF ON | 234 | EA | 117 | 75 |
ON ON OFF | 236 | EC | 118 | 76 |
ON ON ON | 238 | EE | 119 | 77 |
I2HSS – I2C-Switch mit PCA9545A
Nur mit unserem Funktionsbaustein ansprechbar
PCF8574 | 8-Bit dez | 8-Bit hex | 7-Bit dez | 7-Bit hex |
OFF OFF | 224 | E0 | 112 | 20 |
OFF ON | 226 | E2 | 113 | 71 |
ON OFF | 228 | E4 | 114 | 72 |
ON ON | 230 | E6 | 115 | 73 |
Guten Tag Herr Horter,
ich habe die I2C-input 8-bit mit Optokoppler
bei Ihnen gekauft und selber zusammen gelötet.
im Raspberry bi 3 B+ bekomme ich die Adesse und auch den gesetzten Eingang angezeigt, also soweit alles top.
jetzt versuche ich die Karten in Codesys 3.5 SP14 ans laufen zu bekommen. ich habe eine Ihrer input karten benutz aber die Adressen sind wohl anders.
ich bekomme die Karte nicht Adressiert und nicht angesprochen.
Problem umrechnung von 8 nach 7 Bit !
Können Sie mir helfen ???
Harald
Hallo Harald,
neue Baugruppen bitte so adressieren, wie Sie es in der Tabelle oben finden.
Die Adressen in lila sind richtig.
Eventuell mal mit i2cdetect -y 1 den Bus absuchen ob die neue Karte eingetragen ist.
Hallo Herr Horter,
am WE bekam ich die bestellten 3 12HE und 3 12HA Module, flux zusammengebaut und ……
Jetzt steht hier Eingangmodul PCF 8574A und Ausgangsmodul PCF 8574. Bekommen habe ich 6 x PCF 8574N, auf den Beipackzetteln sind die jeweils mit P angegeben. Was ist denn nun was und vor allem welche Adresse hat dann jedes Modul ????
Bitte Erklärung für „dummis“ 😉 bis totaler Anfänger.
Danke
Es gibt den PCF8574 und den PCF8574A. Was sonst noch für Buchstaben dahinter stehen ist egal.
Die Adressen der Bausteine sind auf dieser Seite erklärt.
Den PCF8574 setzten wir gerne für die DO-Karten ein,
den PCF8574A wird standardmäßig für die Eingangskarten verwendet.
Das muss aber nicht zwingend so sein. Wichtig ist nur, dass maximal 8 Stück PCF8574 und maximal 8 Stück PCF8574A an einem I2C-Strang verbaut werden, egal ob die in DI oder DO-Karten stecken.
Hallo,
zuerst großes Lob an diese echt coole Website!
Mich würde interessieren ob man über Codesys auch andere Module (zB. MCP3208, MCP23017) einbinden und somit konfortabel betreiben kann?
Die Einbindung von andren I2C Chips (mit der dementsprechenden Addresse) ist ja auch kein Problem oder?
Hallo Herr Lammer,
danke für das Lob 🙂
Das ist zwar nicht so einfach wie mit den Bausteinen aus unserem Demo-Programm aber es gibt eine Library mit der man Daten auf den I2C-Bus schreiben bzw. vom I2C-Bus lesen kann.
Erfahrene Codesys-Programmierer sollten damit alle Bausteine am Bus ansprechen können.
Hallo Herr Horter,
wie heißt die Library und wo finde ich sie?
im 3S-Forum finden Sie Beiträge zu I2C in Codesys
https://forum.codesys.com/viewtopic.php?t=5698