<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to Task zur Laufzeit erzeugen</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/198684644a/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/198684644a/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/Deutsch/thread/198684644a/</id><updated>2020-02-28T08:06:41.501000Z</updated><subtitle>Recent posts to Task zur Laufzeit erzeugen</subtitle><entry><title>Task zur Laufzeit erzeugen</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/198684644a/?limit=25#7b85" rel="alternate"/><published>2020-02-28T08:06:41.501000Z</published><updated>2020-02-28T08:06:41.501000Z</updated><author><name>Anonymous</name><uri>https://forge.codesys.com/u/*anonymous/</uri></author><id>https://forge.codesys.comf8277c2821a22fa46a6c1e2cf66abb46ebcc6224</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;&lt;em&gt;Originally created by:&lt;/em&gt; blackenslaver666&lt;/p&gt;
&lt;p&gt;Hi.&lt;br/&gt;
Ich kenne jetzt die Lib nicht, habe mir aber mal ein PDF angeguckt. Die Beschreibung der FUN "SysTaskEnd" ist für mich nicht eindeutig. Ich nehme mal an, dass du mit deinem Init die Task generieren willst, die dann zyklisch mit dem Intervall laufen soll. Ich denke das passiert auch, aber eben nur 1x weil j nur einmal inkrementiert wird. Ich denke "SysTaskEnd" stoppt darauf die Task wieder nachdem sie 1x abgearbeitet wurde. Daher keine Änderung mehr vom Zähler j. Würde den FUN-Aufruf mal auskommentieren zum Test. Denn bei einer zyklischen Task muss man ja auch keine FUN zum "Beenden" aufrufen.&lt;/p&gt;
&lt;p&gt;Btw. was spricht dagegen in der Task-Konfig gleich eine zyklische Task anzulegen? Geht's dir hier nur um die Übung?   &lt;/p&gt;
&lt;p&gt;Gruß Andy&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Task zur Laufzeit erzeugen</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/198684644a/?limit=25#02de" rel="alternate"/><published>2020-02-28T08:06:34.786000Z</published><updated>2020-02-28T08:06:34.786000Z</updated><author><name>bschuster</name><uri>https://forge.codesys.com/u/bschuster/</uri></author><id>https://forge.codesys.comd372ae4bce37d1bb82880be070c8884f31d7b855</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hallo,&lt;br/&gt;
der Baustein, dessen Funktionspointer, der Task beim generieren mitgegeben wurde, wird von CoDeSys einmal aufgerufen, deshalb der einmalige Inkrement.&lt;br/&gt;
In dem Baustein muss das Handling der Task (Schleife, Unterbrechung, Beenden) selbst programmiert werden.&lt;br/&gt;
Folgender Code zählt zumindest die Schleife hoch&lt;/p&gt;
&lt;p&gt;WHILE (TRUE) DO&lt;br/&gt;
    j:= j+1;&lt;br/&gt;
    SysTaskSleep(200);&lt;br/&gt;
END_WHILE&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Task zur Laufzeit erzeugen</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/198684644a/?limit=25#71a5" rel="alternate"/><published>2020-02-28T08:06:32.283000Z</published><updated>2020-02-28T08:06:32.283000Z</updated><author><name>RolandAlbers</name><uri>https://forge.codesys.com/u/rolandalbers/</uri></author><id>https://forge.codesys.coma2d9f41c41e8c6cba23742f344bd623a57b13a86</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Ich würde mich freuen, wenn sich schon kein User meldet, ich wenigstens eine Antwort von 3S bekomme. Oder muss ich mich direkt an den Support wenden?&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Task zur Laufzeit erzeugen</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/198684644a/?limit=25#ddac" rel="alternate"/><published>2020-02-28T08:06:29.734000Z</published><updated>2020-02-28T08:06:29.734000Z</updated><author><name>RolandAlbers</name><uri>https://forge.codesys.com/u/rolandalbers/</uri></author><id>https://forge.codesys.coma17bd773922d73de2374e704b83d285fd096ceb5</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hallo!&lt;/p&gt;
&lt;p&gt;Ich möchte zur Laufzeit einen Task erzeugen.&lt;br/&gt;
Die Funktionen aus der SysLibTask.lib benutze ich dazu:&lt;/p&gt;
&lt;hr/&gt;
&lt;p&gt;PROGRAM PLC_PRG&lt;br/&gt;
VAR&lt;br/&gt;
    xInit: BOOL;&lt;br/&gt;
    id: UDINT;&lt;br/&gt;
END_VAR&lt;br/&gt;
:&lt;br/&gt;
IF NOT xInit THEN&lt;br/&gt;
    xInit := TRUE;&lt;br/&gt;
    id := SysTaskCreate('Task1',20,10,SysIECGetFctPointer(INDEXOF(Task_PLC)),0);&lt;br/&gt;
END_IF&lt;br/&gt;
:&lt;br/&gt;
:&lt;/p&gt;
&lt;hr/&gt;
&lt;p&gt;PROGRAM Task_PLC&lt;br/&gt;
VAR&lt;br/&gt;
    hdl: UDINT;&lt;br/&gt;
END_VAR&lt;br/&gt;
hdl := SysTaskGetCurrent(TRUE);&lt;br/&gt;
j := j+1;&lt;br/&gt;
SysTaskEnd(0,hdl);&lt;/p&gt;
&lt;hr/&gt;
&lt;p&gt;j ist eine globale Variable. Diese wird auch mit SysTaskCreate einmal inkrementiert. Danach nicht mehr.&lt;br/&gt;
id = hdl = 3 in meinem Fall.&lt;/p&gt;
&lt;p&gt;Was mache ich falsch? Was fehlt noch?&lt;br/&gt;
Leider finde ich in den Beispielen von 3S nichts.&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>