<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to GPIO Runtime Zugriff Einfluss vs. Python</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/f786fc26df/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/f786fc26df/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/Deutsch/thread/f786fc26df/</id><updated>2020-02-28T02:36:03.146000Z</updated><subtitle>Recent posts to GPIO Runtime Zugriff Einfluss vs. Python</subtitle><entry><title>GPIO Runtime Zugriff Einfluss vs. Python</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/f786fc26df/?limit=25#fd60" rel="alternate"/><published>2020-02-28T02:36:03.146000Z</published><updated>2020-02-28T02:36:03.146000Z</updated><author><name>eschwellinger</name><uri>https://forge.codesys.com/u/eschwellinger/</uri></author><id>https://forge.codesys.com86b3bc7ec2852a272f58c2bfd6dfc8b2cba5a421</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;hm..  welchen PI verwendest du?&lt;/p&gt;
&lt;p&gt;nur paar Ideen:&lt;/p&gt;
&lt;p&gt;Es ist so das die "normale Raspberry PI SL" an den ersten Core pinnen. ( gehe davon aus das du PI2/PI3 oder PI4 verwendest)&lt;br/&gt;
Sprich du könntest versuchen ( keine Ahnung wie das geht - google) ob man das python script irgendwie dazu bewegen kann, einem anderen Core wie den ersten zu laufen.&lt;/p&gt;
&lt;p&gt;Klar ne andere Option ( ohne Garantie auf Erfolg) wäre die Raspberry MC Runtime zu verwenden und versuchen in CODESYS zu verteilen. ( auch das was du in deinem Python machst in CODESYS aufrufen)&lt;br/&gt;
die MC läuft nicht ohne gekaufte Lizenz, es gibt da keinen Demo mode.&lt;/p&gt;
&lt;p&gt;Klar mit ner rt_preempt gepachten Kernel version des RASPIN könntest du auch noch ein paar Versuche machen.&lt;/p&gt;
&lt;p&gt;Grüße&lt;br/&gt;
Edwin&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>GPIO Runtime Zugriff Einfluss vs. Python</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/f786fc26df/?limit=25#7679" rel="alternate"/><published>2020-02-28T02:36:01.188000Z</published><updated>2020-02-28T02:36:01.188000Z</updated><author><name>Anonymous</name><uri>https://forge.codesys.com/u/*anonymous/</uri></author><id>https://forge.codesys.com39b4f5a349fe1efc39bbfae645d12b44c0f5eeb4</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;&lt;em&gt;Originally created by:&lt;/em&gt; *&lt;em&gt;michi&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Hallo zusammen,&lt;/p&gt;
&lt;p&gt;ich sitze hier gerade vor einem kleinen Problem:&lt;/p&gt;
&lt;p&gt;Für Zuhause habe ich mir eine kleine Home - Steuerung für meine Funksteckdosen gebastelt.&lt;br/&gt;
Erste Variante war, das ich via "Sys Execute Process" ein Skript ausgeführt habe, um mittels 433 Mhz Befehle zu übertragen.&lt;br/&gt;
Nach "Learning - by - Doing" habe ich nun den OPC - UA Server in Betrieb genommen und meine eigenen Skripte für die Funkübertragung geschrieben.&lt;br/&gt;
Nachdem das 433Mhz Signal ja auf best. Pulslängen aufgebaut ist, konnte ich das direkt via GPIO Zugriff von Codesys nicht realisieren. Alleine schon wegen der Zykluszeit.&lt;/p&gt;
&lt;p&gt;Soweit so gut....&lt;/p&gt;
&lt;p&gt;Die Variante senden klappt wunderbar. Nun habe ich das ganze auch für Empfangen implementiert. Es gibt in GitHub ein einfaches Tool um empfangene Codes einzulesen. (Code, Protocol, Pulslänge)&lt;br/&gt;
Sobald ich dieses starte im LX-Terminal empfängt er wunderbar den Code ohne großartige Störungen oder irgendeinem Datenmüll.&lt;br/&gt;
Wenn ich nun die Runtime starte, kommt ein absoluter Datenmüll über das Skript rein. Die Pulslänge verlängert sich usw.&lt;/p&gt;
&lt;p&gt;Zykluseinstellung: 5ms, Zyklischer Aufruf&lt;/p&gt;
&lt;p&gt;Ich habe zum Testen, mal die GPIOs aus der Konfiguration entfernt und die Runtime nochmals gestartet.&lt;br/&gt;
-&amp;gt; Gleicher Effekt&lt;br/&gt;
Progamm verkleinert (Einfaches PLC-PRG mit nem einfachen Counter)&lt;br/&gt;
-&amp;gt; Effekt nicht so stark, aber dennoch vorhanden&lt;br/&gt;
Änderungen an der Zykluszeit&lt;br/&gt;
-&amp;gt; Keine Veränderung&lt;/p&gt;
&lt;p&gt;In meinen Augen gibt es eigentlich nur folgende Möglichkeiten, die diesen Effekt erzeugen könnten:&lt;/p&gt;
&lt;p&gt;1.) Runtime benötigt zuviel CPU Last, sodass das System schlichtweg hängt (synchron!?), wobei die CPU Last bei Max. 6% liegt...&lt;br/&gt;
2.) Runtime greift im Hintergrund auf die GPIO zu, obwohl diese überhaupt nicht implemtiert sind und blockiert mir hier das Python Skript.&lt;/p&gt;
&lt;p&gt;Könnte dem so sein?&lt;/p&gt;
&lt;p&gt;Danke für eure Ideen&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>