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.
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 |
Mein Chef benötigt aktuell eine Baugruppe. In diesem Zusammenhang ist es interessant zu erfahren, wie Baugruppen zum Teil adressiert werden. Das war mir so davor ehrlich gesagt gar nicht bewusst gewesen.
Hier ist die Adressierung der Baugruppen genau beschrieben:
Raspberry-sps.de – Weitere Baugruppen in CODESYS einfügen
Für alle unsere Module haben wir auch Funktionsbausteine programmiert, die es noch einfacher machen, diese anzusprechen.
Beschreibung hier:
Raspberry-sps.de – Funktionsbausteine für Codesys
Guten Tag,
ich möchte jeweils eine I2AOK und I2EOK an einem PiXtend Mit Codesys 3.5SP14 betreiben, welche Adressierung ist dann richtig?
Hallo,
können Sie einen „i2cdetect -y 1“ in der Konsole durchführen, welche Adressen der PiXtend belegt?
Wäre schön wenn Sie mir das Ergebnis schicken könnten.
Dann einfach Adressen Jumpern die nicht belegt sind und die Module im Codesys einbinden.
Derzeit wird bei mir lediglich unter der Adresse 68 ein „UU“ angezeigt.
Das scheint eine reservierte Adresse der RTC-DS1307 Uhr zu sein.
Welchen PiXtend verwenden Sie? Vielleicht finde ich einen Schaltplan im Netz ob da überhaupt I2C-ICs verbaut sind.
Oder Sie testen einfach mal mit allen Jumpern nach unten
I2AOK PCF8574 Adresse 0x20 (32dez in Codesys)
I2EOK PCF8574A Adresse 0x38 (56dez in Codesys)
Wie in diesem Beitrag beschrieben I2C-Module am Raspberry PI
Ich verwende einen PiXtend V2-L-.
Doch, mein Dump sieht genauso aus:
pi@raspberrypi:~ $ i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: — — — — — — — — — — — — —
10: — — — — — — — — — — — — — — — —
20: — — — — — 25 — — — — — — — — — —
30: — — — — — — — — — 39 — — — — — —
40: — — — — — — — — — — — — — — — —
50: — — — — — — — — — — — — — — — —
60: — — — — — — — — UU — — — — — — —
70: — — — — — — — —
Die 25 und 39 Sind die beiden Module, UU wird wohl eine reservierte Adresse o.Ä. sein.
0x25 = 37 dezimal
0x39 = 57 dezimal
das kommt auf den eingebauten PCF-Typ an.
Die Adressen findest du in der Tabelle.
Guten Tag Herr Horter,
ich verzweifel leider an dem Versuch den Kommunikationsaufbau zu einer I2HAE oder I2HAA Karte aufzubauen.
Das ganze mache ich mit Codesys V3.5 SP15 + (64bit).
Ich haben den Repeater, an der <lötbrücke LB2 geschlossen.
Die Spannung VCC am repeater abgegriffen und an die Karte weitergegeben.
Das gleiche habe ich mit GND, SDA A, SCL A gemacht.Der Int Eingang interressiert mich erstmal nicht, daher habe ich diesen nicht verbunden.
Nun habe ich ihr Beispiel Projekt genommen und im I2C bus nur den aktuellen Wert auf 32 gesetzt (Ausgangskarte) alle Jumper auf Off.
Wenn ich das Programm nun übertrage und mich verbinde, sehe ich leider nur, dass der I2C Master nicht läuft.
Bei den I2C Devices steht jedoch, dass sie laufen (das versteh ich garnicht).
Muss ich diesen irgendwo aktivieren?
Ich habe sowohl den Repeater als auch schon eine andere Karte verwendet.
Haben Sie einen Tipp oder gibt es noch eine Anleitung die Sie mir empfelen können?
Hallo nochmal,
nach einiger sucherei wurde mir klar, dass man erst den Bus im Raspberry aktivieren muss.
Hier dafür eine Anleitung:
https://www.kampis-elektroecke.de/raspberry-pi/raspberry-pi-i2c/
Soweit ich es verstanden habe, ist es auch nicht schlecht nochmal ein paar updates zu machen.
https://forum.codesys.com/viewtopic.php?t=6432
PS: Bei mir läuft es zwar noch nicht ganz rund, aber ich konnte nun die Ausgänge testweise ansteuern.
Grüße
Felix