<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to MCP23017 funktioniert nicht mit Pi2</title><link href="https://forge.codesys.com/forge/talk/Runtime/thread/4576cfe251/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/Runtime/thread/4576cfe251/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/Runtime/thread/4576cfe251/</id><updated>2020-02-27T16:23:37.362000Z</updated><subtitle>Recent posts to MCP23017 funktioniert nicht mit Pi2</subtitle><entry><title>MCP23017 funktioniert nicht mit Pi2</title><link href="https://forge.codesys.com/forge/talk/Runtime/thread/4576cfe251/?limit=25#7bf8" rel="alternate"/><published>2020-02-27T16:23:37.362000Z</published><updated>2020-02-27T16:23:37.362000Z</updated><author><name>Anonymous</name><uri>https://forge.codesys.com/u/*anonymous/</uri></author><id>https://forge.codesys.com3ab4b8e2aa648ff872c55f404683d158d03ccb35</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;&lt;em&gt;Originally created by:&lt;/em&gt; e60newbie&lt;/p&gt;
&lt;p&gt;&lt;span style="color: 50%;"&gt;Hallo Leute,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;wollte auch den MCP23017 über den Bus ansteuern, nur bekomme ich die Bibliothek gar nicht eingebunden. Gibt es irgendwo ein tolle Guide wo das beschrieben ist?&lt;/p&gt;
&lt;p&gt;Habe diese Installiert, kann sie auch einfügen, nur wenn ich im Gerätebaum möchte den MCP anhängen gibt es den dort nicht...&lt;/p&gt;
&lt;p&gt;hat jemand Rat?&lt;/p&gt;
&lt;p&gt;Grüße Andy&lt;/p&gt;
&lt;p&gt;&lt;span style="color: underline;"&gt;Hat sich erledigt! Irgendwie wurde die Device nicht richtig installiert.... habe diese nochmals Hinzugefügt und siehe da, dann klappts...&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>MCP23017 funktioniert nicht mit Pi2</title><link href="https://forge.codesys.com/forge/talk/Runtime/thread/4576cfe251/?limit=25#44f1" rel="alternate"/><published>2020-02-27T16:23:36.524000Z</published><updated>2020-02-27T16:23:36.524000Z</updated><author><name>grauerwolf</name><uri>https://forge.codesys.com/u/grauerwolf/</uri></author><id>https://forge.codesys.comacdf193adb11914c017faf09fe66be1e3f152d80</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Habe nach langem Suchen und eher zufällig gefunden, das MCP23017.REINIT gar nicht gesetzt werden muss.&lt;br/&gt;
Mit diesen Programmschritten funktioniert es:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;IF programmstart THEN   mcp23017.usiAddress:=0;  ELSE   mcp23017.usiAddress:=I2C;  END_IF&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;blinker(enable:=TRUE,timelow:=T#500MS,timehigh:=T#1500MS);&lt;/p&gt;
&lt;p&gt;MCP23017.IO_B := 16#00;   (&lt;em&gt; setzt Bank B auf "Ausgabe"   &lt;/em&gt;)&lt;/p&gt;
&lt;p&gt;IF  blinker.OUT  AND MCP23017.STATE THEN&lt;br/&gt;
   mcp23017.OUT_B:=16#FF;  (&lt;em&gt; setzt die einzelnen Bits der Ausgabe, &lt;strong&gt;alles blinkt&lt;/strong&gt; &lt;/em&gt;)&lt;br/&gt;
ELSE&lt;br/&gt;
   mcp23017.OUT_B:=16#00;&lt;br/&gt;
END_IF&lt;/p&gt;
&lt;p&gt;Kommt mir trotz allem spanisch vor. Aber nur mit dem Adresswechsel zu Beginn (2 Zyklen Programmstart, dann normaler Zyklus) startet das Geblinke.&lt;/p&gt;
&lt;p&gt;Vielleicht klärt mich doch noch ein schlauer Kopf auf.&lt;/p&gt;
&lt;p&gt;Viele Grüße&lt;br/&gt;
Thomas&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>MCP23017 funktioniert nicht mit Pi2</title><link href="https://forge.codesys.com/forge/talk/Runtime/thread/4576cfe251/?limit=25#d7a5" rel="alternate"/><published>2020-02-27T16:23:34.144000Z</published><updated>2020-02-27T16:23:34.144000Z</updated><author><name>grauerwolf</name><uri>https://forge.codesys.com/u/grauerwolf/</uri></author><id>https://forge.codesys.combe1d217eca1f50e65cca1047793c26ab4f192ba2</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hallo Edwin,&lt;br/&gt;
nach Deinen Hinweisen funktioniert es schon mal etwas!!  &lt;/p&gt;
&lt;p&gt;Danke!!  &lt;/p&gt;
&lt;p&gt;Aber dieses Problem habe ich immer noch:  Der MCP23017 startet noch nicht selbständig. Wie sollte ich denn MCP23017.REINIT programmieren (eine Flanke lang auf TRUE oder grundsätzlich auf TRUE - habe beides probiert). Nach einem reboot muss ich immer mal kurz die Masse abziehen.   .&lt;/p&gt;
&lt;p&gt;In den vielen direkten Beispielen im Internet (c-Programme) gibt es immer eine "Init"-Prozedur. Muss ich im Codesys sowas nicht auch auslösen ??&lt;/p&gt;
&lt;p&gt;Nebenbei:&lt;br/&gt;
Warum die Adresse 16#20  für A0..A2=0 sein muss, finde ich auch nirgends - ein kleiner Hinweis wäre sehr informativ.&lt;/p&gt;
&lt;p&gt;root@raspberrypi_2:~# i2cdetect -y 1&lt;br/&gt;
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f&lt;br/&gt;
00:          -- -- -- -- -- -- -- -- -- -- -- -- --&lt;br/&gt;
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --&lt;br/&gt;
20: 20 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --&lt;br/&gt;
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --&lt;br/&gt;
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --&lt;br/&gt;
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --&lt;br/&gt;
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --&lt;br/&gt;
70: -- -- -- -- -- -- -- --&lt;br/&gt;
root@raspberrypi_2:~#&lt;/p&gt;
&lt;hr/&gt;
&lt;p&gt;PROGRAM PLC_PRG&lt;br/&gt;
VAR&lt;br/&gt;
    I2C:USINT := 16#20;  (&lt;em&gt; Adresse des ertsen Bausteines , der 2. wäre 16#21 &lt;/em&gt;)&lt;br/&gt;
    blinker: blink;&lt;br/&gt;
    a,b: BOOL;&lt;br/&gt;
    programmstart: BOOL:=TRUE;&lt;br/&gt;
    programmstart_zyklen: BYTE:=20;&lt;br/&gt;
    programmstart_zaehler: BYTE:=0;&lt;br/&gt;
    d:int;&lt;br/&gt;
END_VAR&lt;/p&gt;
&lt;p&gt;----------------PLC_PRG:--------------------&lt;br/&gt;
IF programmstart_zaehler&amp;lt;programmstart_zyklen THEN&lt;br/&gt;
    programmstart_zaehler:=programmstart_zaehler+1;&lt;br/&gt;
ELSE&lt;br/&gt;
    programmstart:=FALSE;&lt;br/&gt;
END_IF&lt;/p&gt;
&lt;p&gt;blinker(enable:=TRUE,timelow:=T#500MS,timehigh:=T#500MS);&lt;/p&gt;
&lt;p&gt;a:=blinker.OUT;&lt;/p&gt;
&lt;p&gt;mcp23017.usiAddress:=I2C;   (&lt;em&gt; Adressen müssen hardwareseitig über A0..A2 eingesetllt werden &lt;/em&gt;)&lt;br/&gt;
MCP23017.IO_B := 16#00;   (&lt;em&gt; setzt Bank B auf "Ausgabe"   Gegenstück  MCP23017.IO_B := 16#FF  setzt Bank B auf Eingabe &lt;/em&gt;)&lt;br/&gt;
MCP23017.IO_A := 16#00;&lt;br/&gt;
IF a THEN&lt;br/&gt;
    mcp23017.OUT_A:=16#FF;  (&lt;em&gt; setzt die einzelnen Bits der Ausgabe &lt;/em&gt;)&lt;br/&gt;
    mcp23017.OUT_B:=16#FF;&lt;br/&gt;
ELSE&lt;br/&gt;
    mcp23017.OUT_A:=16#00;    (&lt;em&gt; Blinken tut es    &lt;/em&gt;)&lt;br/&gt;
    mcp23017.OUT_B:=16#00;&lt;br/&gt;
END_IF&lt;/p&gt;
&lt;p&gt;IF programmstart THEN&lt;br/&gt;
      MCP23017.REINIT:=TRUE;  (&lt;em&gt; KEINE WIRKUNG , nach download o.ä. startet nichts, obwohl Bus läuft &lt;/em&gt;)&lt;br/&gt;
ELSE&lt;br/&gt;
    MCP23017.REINIT:=FALSE;&lt;br/&gt;
END_IF&lt;/p&gt;
&lt;p&gt;b:=MCP23017.STATE ;  (&lt;em&gt; holt den Status TRUE=läuft&lt;/em&gt;)&lt;/p&gt;
&lt;p&gt;Viele Grüße&lt;br/&gt;
Thomas&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>MCP23017 funktioniert nicht mit Pi2</title><link href="https://forge.codesys.com/forge/talk/Runtime/thread/4576cfe251/?limit=25#f1d7" rel="alternate"/><published>2020-02-27T16:23:33.279000Z</published><updated>2020-02-27T16:23:33.279000Z</updated><author><name>eschwellinger</name><uri>https://forge.codesys.com/u/eschwellinger/</uri></author><id>https://forge.codesys.com997949dc4867957e54964c874d05d43ef2b28c33</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;sudo raspi-config&lt;/p&gt;
&lt;p&gt;enable and load the kernelmodules:&lt;br/&gt;
    1. Devicetree&lt;br/&gt;
    2. I2C&lt;br/&gt;
    3. SPI&lt;br/&gt;
- reboot&lt;/p&gt;
&lt;p&gt;then it works, if not check the I2C by i2c-tools&lt;/p&gt;
&lt;p&gt;apt-get install i2c-tools&lt;br/&gt;
i2cdetect -y 1&lt;/p&gt;
&lt;p&gt;pi@raspberrypi:~ $ i2cdetect -y 1&lt;br/&gt;
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f&lt;br/&gt;
00:          -- -- -- -- -- -- -- -- -- -- -- -- --&lt;br/&gt;
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --&lt;br/&gt;
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --&lt;br/&gt;
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --&lt;br/&gt;
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --&lt;br/&gt;
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --&lt;br/&gt;
60: -- -- -- -- -- -- -- -- 68 69 6a 6b -- -- -- --&lt;br/&gt;
70: -- -- -- -- -- -- -- --&lt;/p&gt;
&lt;p&gt;BR&lt;br/&gt;
Edwin&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>MCP23017 funktioniert nicht mit Pi2</title><link href="https://forge.codesys.com/forge/talk/Runtime/thread/4576cfe251/?limit=25#dd45" rel="alternate"/><published>2020-02-27T16:23:30.909000Z</published><updated>2020-02-27T16:23:30.909000Z</updated><author><name>grauerwolf</name><uri>https://forge.codesys.com/u/grauerwolf/</uri></author><id>https://forge.codesys.com18b9a46676ad7c926bfff22991edc163c04b5173</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hallo,&lt;br/&gt;
ich versuche schon längere Zeit einen MCP23017 an einen Raspberry 2 unter Codesys 3.5.8 anzuschließen.&lt;br/&gt;
Das Problem ist, das der Bus nicht anfängt zu laufen. Ich habe dabei den Verdacht, daß alle hier im Forum zur Verfügung stehenden Libraries und Device-Definitionen nicht mit dem Pi 2 funktionieren. Ich habe das Beispiel raspi_i2c.project , die Beschreibung MCP23017.devdesc.xml und die Library I2C_MCP23017.library benutzt. Alles läßt sich einbinden und übersetzen, ja sogar downloaden. Nach dem Start des Codesys-Programmes kommt die Info, das der I2C-Bus nicht läuft.&lt;/p&gt;
&lt;p&gt;Es kommt zu den seltsamsten Reaktionen, wenn man die Geräte aktualisiert. &lt;/p&gt;
&lt;p&gt;Zu meiner Schande muss ich auch sagen, daß die Adressierung mir Probleme bereitet, sie ist nirgends für mich verständlich beschrieben.&lt;/p&gt;
&lt;p&gt;Hat jemand ein Beispiel unter 3.5.8 mit funktionierender Bibliothek usw. auf das man aufsetzen kann ?&lt;/p&gt;
&lt;p&gt;Viele Grüße&lt;br/&gt;
Thomas&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>