<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to Problem mit RAMP_INT</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/ae923e38f7/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/ae923e38f7/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/Deutsch/thread/ae923e38f7/</id><updated>2020-02-28T09:34:18Z</updated><subtitle>Recent posts to Problem mit RAMP_INT</subtitle><entry><title>Problem mit RAMP_INT</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/ae923e38f7/?limit=25#0fb6" rel="alternate"/><published>2020-02-28T09:34:18Z</published><updated>2020-02-28T09:34:18Z</updated><author><name>guerillero</name><uri>https://forge.codesys.com/u/guerillero/</uri></author><id>https://forge.codesys.comddfde25788375a62a7f6f569dfcc1d9edbe75cdf</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hallo,&lt;/p&gt;
&lt;p&gt;mit FUNCTION_BLOCK geht das reibungslos.&lt;/p&gt;
&lt;p&gt;Vielen Dank für die Hilfe.&lt;/p&gt;
&lt;p&gt;Gruß&lt;/p&gt;
&lt;p&gt;Michael&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Problem mit RAMP_INT</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/ae923e38f7/?limit=25#02a6" rel="alternate"/><published>2020-02-28T09:34:11.178000Z</published><updated>2020-02-28T09:34:11.178000Z</updated><author><name>Ralph Holz</name><uri>https://forge.codesys.com/u/ralph-holz/</uri></author><id>https://forge.codesys.com338b6f1c371f6224bae25cca005d29710ddff14c</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hallo miteinander,&lt;/p&gt;
&lt;p&gt;das ist IEC Grundprinzip (haben wir von 3S uns nicht ausgedacht) alle Variablen von Funktionen werden beim Aufruf initialisiert und verlieren nach der Rückkehr zum Aufrufer ihre Gültigkeit. CoDeSys legt die Variablen von Funktionen auf dem Stack ab. &lt;/p&gt;
&lt;p&gt;Für alle "Funktionen" die irgendwie ein Gedächtniss brauchen gibt es die Funktionsblöcke die durch Deklaration beliebig oft verwendet werden können. Aufgerufen werden dann die deklarierten Instanzen.&lt;/p&gt;
&lt;p&gt;Grüße&lt;/p&gt;
&lt;p&gt;Ralph&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Problem mit RAMP_INT</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/ae923e38f7/?limit=25#f09c" rel="alternate"/><published>2020-02-28T09:34:08.657000Z</published><updated>2020-02-28T09:34:08.657000Z</updated><author><name>Erik Böhm</name><uri>https://forge.codesys.com/u/erik-boehm/</uri></author><id>https://forge.codesys.comc281c0529c0a32b6fecb3eea744f4c9d38aac422</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hallo&lt;/p&gt;
&lt;p&gt;Das geht natürlich auch in CoDeSys. Du musst aus der FUNCTION einen FUNCTION_BLOCK machen. Dieser ist dann instanzierbar.&lt;/p&gt;
&lt;p&gt;Gruss&lt;/p&gt;
&lt;p&gt;Erik&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Problem mit RAMP_INT</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/ae923e38f7/?limit=25#5f05" rel="alternate"/><published>2020-02-28T09:34:01.745000Z</published><updated>2020-02-28T09:34:01.745000Z</updated><author><name>guerillero</name><uri>https://forge.codesys.com/u/guerillero/</uri></author><id>https://forge.codesys.com6a6ec47845a478ef096617ca715b6b277b6fa09c</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hm, zu früh gefreut. Durch die Globale Deklaration lässt sich die Funktion nur einmal nutzen. D.h. ich kann mir das Ganze auch sparen. Es ist also für aufwendigere Funktionen nicht so wie bei C, dass wenn man eine Funktion schreibt diese dann beliebig oft einsetzen kann. Oder sehe ich da mal wieder was fasch?&lt;/p&gt;
&lt;p&gt;Gruß&lt;/p&gt;
&lt;p&gt;Michael Pajonk&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Problem mit RAMP_INT</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/ae923e38f7/?limit=25#0ced" rel="alternate"/><published>2020-02-28T09:33:59.144000Z</published><updated>2020-02-28T09:33:59.144000Z</updated><author><name>guerillero</name><uri>https://forge.codesys.com/u/guerillero/</uri></author><id>https://forge.codesys.com6aa83a14d6cbd25ca283452227f757aab1debe79</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hallo,&lt;/p&gt;
&lt;p&gt;daran hat es gelegen. Jetzt geht der Funktionsaufruf einwandfrei.&lt;/p&gt;
&lt;p&gt;Vielen Dank an alle Beteiligten für die rege Anteilnahme und die schnelle Hilfe.&lt;/p&gt;
&lt;p&gt;Gruß&lt;/p&gt;
&lt;p&gt;Michael Pajonk&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Problem mit RAMP_INT</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/ae923e38f7/?limit=25#2058" rel="alternate"/><published>2020-02-28T09:33:56.657000Z</published><updated>2020-02-28T09:33:56.657000Z</updated><author><name>Erik Böhm</name><uri>https://forge.codesys.com/u/erik-boehm/</uri></author><id>https://forge.codesys.com039ea2142741f0c5acaeaa2e67d90de0571dd311</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hallo&lt;/p&gt;
&lt;p&gt;Deklariere deine Instanzen von rechts / links als Globale Variablen, dann gehts.&lt;/p&gt;
&lt;p&gt;Da sich die Funktionsblöcke die Variablenzustände merken müssen, kann das nicht als lokale Variable einer Funktion erstellt werden. Funktionen belegen den Speicher nur zur Laufzeit, sind also sehr vergesslich.&lt;/p&gt;
&lt;p&gt;Gruss Erik&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Problem mit RAMP_INT</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/ae923e38f7/?limit=25#2ec7" rel="alternate"/><published>2020-02-28T09:33:49.920000Z</published><updated>2020-02-28T09:33:49.920000Z</updated><author><name>guerillero</name><uri>https://forge.codesys.com/u/guerillero/</uri></author><id>https://forge.codesys.com9181cfcd45dafea1376a0a09c75ce6d817264641</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hallo,&lt;/p&gt;
&lt;p&gt;hier habe ich es mal mit der Oscat lib versucht. Leider auch ohne Erfolg. &lt;/p&gt;
&lt;p&gt;Der Rechteckgenerator gen_sqr liefert mir am Ausgang Out nur die hälfte der Singnal Amplitude(O_RMP_FUP).Dafür funktioniert die Rampe FT_rmp.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; Das hat sich erledigt. Habe ein große Periodendauer eingestellt und das "-" nicht gesehen.&lt;/p&gt;
&lt;p&gt;In ST funktioniert FT_rmp auch wenn es sich um ein Programm-Baustein handelt (O_RMP). Wird jedoch ein Funktionsbaustein genutzt, der von FUN_Aufruf aufgerufen wird, springt Oscat_RMP sfort auf den Endwert.&lt;/p&gt;
&lt;p&gt;Die Variable Taster wir durch ein Visu Objekt getoggelt und beeinflusst die Variable Schmu.&lt;/p&gt;
&lt;p&gt;Weiß jemand Rat?&lt;/p&gt;
&lt;p&gt;Gruß&lt;/p&gt;
&lt;p&gt;Michael Pajonk&lt;/p&gt;
&lt;p&gt;&lt;a class="" href="https://forum-de.codesys.com//download/file.php?id=201" rel="nofollow"&gt;funktionsaufruf2.pro &lt;span&gt;&lt;span&gt;[126.14 KiB]&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Problem mit RAMP_INT</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/ae923e38f7/?limit=25#5d9b" rel="alternate"/><published>2020-02-28T09:33:47.499000Z</published><updated>2020-02-28T09:33:47.499000Z</updated><author><name>guerillero</name><uri>https://forge.codesys.com/u/guerillero/</uri></author><id>https://forge.codesys.comfa43cb85dcb4dae6496abe5ae950d0d0beb01f99</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hallo,&lt;/p&gt;
&lt;p&gt;also ich habe den Baustein FUN_Aufruf. Dieser ruft die Funktionen addition, steigung und Rampe_FUN_ST auf.&lt;/p&gt;
&lt;p&gt;FUN_Aufruf wird von PLC_PRG aufgerufen. Rampe_PRG_ST wird ebenfalls von PLC_PRG aufgerufen und dient zur kontrolle ob RAMP_INT prinzipiell funktioniet. Jetzt wo links aufgerufen wird funktioniert es. Danke für den Hinweis.&lt;/p&gt;
&lt;p&gt;Alles funktioniert erwartungsgemäß bis auf den Funktionsaufruf von Rampe_FUN_ST.&lt;/p&gt;
&lt;p&gt;Ich habe das Ganze Angehängt.&lt;/p&gt;
&lt;p&gt;Gruß&lt;/p&gt;
&lt;p&gt;Michael Pajonk&lt;/p&gt;
&lt;p&gt;&lt;a class="" href="https://forum-de.codesys.com//download/file.php?id=200" rel="nofollow"&gt;funktionsaufruf.pro &lt;span&gt;&lt;span&gt;[31.97 KiB]&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Problem mit RAMP_INT</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/ae923e38f7/?limit=25#827b" rel="alternate"/><published>2020-02-28T09:33:40.593000Z</published><updated>2020-02-28T09:33:40.593000Z</updated><author><name>Martin Wunsch</name><uri>https://forge.codesys.com/u/martin-wunsch/</uri></author><id>https://forge.codesys.com4874c872dcf8b6384d921608df760e63bb5729ef</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Die CoDeSys-Hilfe sagt unter dem Punkt "Aufruf von Funktionsblöcken in ST" Folgendes:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Zitat:&lt;/strong&gt;&lt;br/&gt;
Ein Funktionsblock in ST wird aufgerufen,  und anschließend in Klammer die gewünschten Werte den Parametern zuweist.&lt;br/&gt;
 (entspricht Jochen's 2. Codeschnipsel).&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Wie meinen, "Die Funktion wird in einem anderen Baustein aufgerufen"? Das wäre wie als ob Du jemandem sagst "Stell mir &lt;strong&gt;hier&lt;/strong&gt; etwas her", aber das Material dafür an einem anderen Ort bereitstellst.&lt;/p&gt;
&lt;p&gt;Du mußt die Parameter für einen Funktionsblock &lt;em&gt;dort&lt;/em&gt; bereitstellen bzw. das Ergebnis abfragen, wo Du den Funktionsblock aufrufst.&lt;/p&gt;
&lt;p&gt;Gruß&lt;/p&gt;
&lt;p&gt;Martin&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Problem mit RAMP_INT</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/ae923e38f7/?limit=25#fc0b" rel="alternate"/><published>2020-02-28T09:33:37.948000Z</published><updated>2020-02-28T09:33:37.948000Z</updated><author><name>J Schohaus</name><uri>https://forge.codesys.com/u/j-schohaus/</uri></author><id>https://forge.codesys.comc230f060770f9457c71b205f6c0628019e987e07</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hallo guerillero&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Zitat:&lt;/strong&gt;&lt;br/&gt;
die Funktion wird in einem anderen Baustein aufgerufen&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;???&lt;/p&gt;
&lt;p&gt;Deine Funktion "Links" muss aufgerufen werden !&lt;/p&gt;
&lt;p&gt;z.B.&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="nt"&gt;links&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;IN&lt;/span&gt;&lt;span class="o"&gt;:=&lt;/span&gt;&lt;span class="nt"&gt;5000&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt; 
&lt;span class="nt"&gt;links&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;ASCEND&lt;/span&gt;&lt;span class="o"&gt;:=&lt;/span&gt;&lt;span class="nt"&gt;10&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt; 
&lt;span class="nt"&gt;links&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;DESCEND&lt;/span&gt;&lt;span class="o"&gt;:=&lt;/span&gt;&lt;span class="nt"&gt;10&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt; 
&lt;span class="nt"&gt;links&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;TIMEBASE&lt;/span&gt;&lt;span class="o"&gt;:=&lt;/span&gt;&lt;span class="nt"&gt;t&lt;/span&gt;&lt;span class="p"&gt;#&lt;/span&gt;&lt;span class="nn"&gt;10ms&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt; 
&lt;span class="nt"&gt;links&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;RESET&lt;/span&gt;&lt;span class="o"&gt;:=&lt;/span&gt;&lt;span class="nt"&gt;FALSE&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt; 
&lt;span class="nt"&gt;links&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="nt"&gt;raus&lt;/span&gt;&lt;span class="o"&gt;:=&lt;/span&gt;&lt;span class="nt"&gt;links&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;OUT&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt; 
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;oder was übersichtlicher wäre&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;links&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;span class="err"&gt; &lt;/span&gt; &lt;span class="err"&gt; &lt;/span&gt;&lt;span class="k"&gt;IN&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;5000&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="err"&gt; &lt;/span&gt; &lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;ASCEND&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="err"&gt; &lt;/span&gt; &lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;DESCEND&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="err"&gt; &lt;/span&gt; &lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;TIMEBASE&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="o"&gt;#&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="n"&gt;ms&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="err"&gt; &lt;/span&gt; &lt;span class="err"&gt; &lt;/span&gt;&lt;span class="k"&gt;RESET&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;FALSE&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="err"&gt; &lt;/span&gt; &lt;span class="err"&gt; &lt;/span&gt;&lt;span class="k"&gt;OUT&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;raus&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;eventuel dein beispiel projekt beifügen&lt;/p&gt;
&lt;p&gt;mfG Jochen&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>