<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to TwinCAT Zykluszeit Basiszeit</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/a38548e1df/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/a38548e1df/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/Deutsch/thread/a38548e1df/</id><updated>2020-02-28T09:46:47.886000Z</updated><subtitle>Recent posts to TwinCAT Zykluszeit Basiszeit</subtitle><entry><title>TwinCAT Zykluszeit Basiszeit</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/a38548e1df/?limit=25#2b26" rel="alternate"/><published>2020-02-28T09:46:47.886000Z</published><updated>2020-02-28T09:46:47.886000Z</updated><author><name>NilsJ</name><uri>https://forge.codesys.com/u/nilsj/</uri></author><id>https://forge.codesys.com350313012132d1c93ca0a170a9420f4d9bd09cfc</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Bei TwinCAT werden diese Werte bereits intern berechnet. Abrufen kann man diese über die TcSystem.lib.&lt;/p&gt;
&lt;p&gt;Durch das Einbinden der Library wird in den globalen Variablen ein Array vom Typ &lt;a class="" href="http://infosys.beckhoff.com/content/1031/tcplclibsystem/html/tcplclibsys_systemtaskinfotype.htm?id=12522" rel="nofollow"&gt;SystemTaskInfoType&lt;/a&gt; angelegt, aus der man Informationen wie CycleTime, LastCycleTime, CycleTimeExceeded auslesen kann.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>TwinCAT Zykluszeit Basiszeit</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/a38548e1df/?limit=25#6c9f" rel="alternate"/><published>2020-02-28T09:46:40.871000Z</published><updated>2020-02-28T09:46:40.871000Z</updated><author><name>mactoolz</name><uri>https://forge.codesys.com/u/mactoolz/</uri></author><id>https://forge.codesys.comc6e41934336b2cd9befde76b47abd4b4704222f6</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;ok stimmt mit den Zeiten, wäre ja auch fatal sich auf die Windowszeit zu stützen, logisch. Ich hatte aber mal den Fall das ich mit den Zeiten auch gespielt habe&lt;br/&gt;
und mit ist aufgefallen das mal mein Zyklus 0ms und auch mal 16ms ergab. Obwohl das Programm nichts gemacht hat.&lt;br/&gt;
Vielleicht lag es daran, oder es lag genau daran, dass ich mit der PlcWinNt auf meinem PC rumgespielt habe und kein Echtzeit Zielsystem hatte. Ja wenn man drüber nachdenkt&lt;br/&gt;
kann das nur so sein.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;SpeedFreak hat geschrieben:&lt;/strong&gt;&lt;br/&gt;
hi. for-schleifen müssen als zählvar eine int16 haben, also geht bis 32767 ...weiß der geier warum, ist aber so.&lt;br/&gt;
eine einzelne for-next in etwa so&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Stimmt habe ich vergessen, Integer gehen nur bei For-Schleifen, dann muss man halt die While-Schleife nehmen und selber für den Abbruch der Schleife selber sorgen.&lt;/p&gt;
&lt;p&gt;MacToolz&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>TwinCAT Zykluszeit Basiszeit</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/a38548e1df/?limit=25#08ed" rel="alternate"/><published>2020-02-28T09:46:38.417000Z</published><updated>2020-02-28T09:46:38.417000Z</updated><author><name>Rolf-Geisler</name><uri>https://forge.codesys.com/u/rolf-geisler/</uri></author><id>https://forge.codesys.come040ef2369de30cf2a4d83b6d239cdee0777f9ff</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hallo Gemeinde,&lt;br/&gt;
bin auch wieder da. War einige Zeit offline und konnte mich daher an Eurer Diskussion nicht beteiligen. Jetzt habe ich aber Zeit, auch meinen Senf noch dazuzugeben.&lt;/p&gt;
&lt;p&gt;Da gab es von mactoolz die Frage ob ich mir sicher bin mit der Zykluszeit. Bin ich. TwinCAT wird sich - wie jedes ordentliche Echtzeitsystem - nicht auf die Systemzeit verlassen. Echtzeiterweiterungen, z.B. RTkernel (habe ich vor Urzeiten benutzt, um MS-DOS echtzeitfähig zu machen und Maschinensteuerungen darauf laufen zu lassen), bringen ihre eigene Zeitverwaltung mit. Die ist weit präziser als die Rechner-Systemzeit, sonst wäre das Zeug ja keine Echtzeit ... TwinCAT setzt mit hoher Wahrscheinlichkeit auch auf einer solchen Echtzeiterweiterung auf.&lt;br/&gt;
Habe mit der beschriebenen Zeitmessung auch noch keine Genauigkeitsprobleme feststellen können.&lt;/p&gt;
&lt;p&gt;Beckhoff-IPCs sind in der Tat sauschnell. Wenn Ihr der Kiste eine merkliche Reaktion entlocken wollt, müßt Ihr in den Schleifen schon etwas mehr machen als nur eine Festpunktaddition. Gleitkommaarithmetik sollte es schon sein, am besten eine Multiplikation oder Division (früher brauchte die Gleitkommadivision mehr Zeit als die Multipklikation, aber ob das bei den heutigen Prozessorarchitekturen noch so ist, weiss ich nicht).&lt;/p&gt;
&lt;p&gt;Schön zu lesen, dass speed der Lösung seines Ursprungsproblems näherkommt.&lt;/p&gt;
&lt;p&gt;Gruss Rolf&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>TwinCAT Zykluszeit Basiszeit</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/a38548e1df/?limit=25#dfb2" rel="alternate"/><published>2020-02-28T09:46:31.686000Z</published><updated>2020-02-28T09:46:31.686000Z</updated><author><name>SpeedFreak</name><uri>https://forge.codesys.com/u/speedfreak/</uri></author><id>https://forge.codesys.com41a1e2a0b5553dd15aae33ddc62d756e4ca039ee</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;hi. for-schleifen müssen als zählvar eine int16 haben, also geht bis 32767 ...weiß der geier warum, ist aber so.&lt;br/&gt;
eine einzelne for-next in etwa so&lt;/p&gt;
&lt;p&gt;FOR n := 1 TO 32767 DO&lt;br/&gt;
    m := m + 1;&lt;br/&gt;
END_FOR&lt;/p&gt;
&lt;p&gt;verballert ca 150µs&lt;br/&gt;
...reicht also noch nicht&lt;/p&gt;
&lt;p&gt;wenn man zwei davon verschachtelt:&lt;/p&gt;
&lt;p&gt;FOR n := 1 TO 32767 DO&lt;br/&gt;
    FOR p := 1 TO 32767 DO&lt;br/&gt;
        m := m + 1;&lt;br/&gt;
    END_FOR&lt;br/&gt;
END_FOR&lt;/p&gt;
&lt;p&gt;geht der twincat system manager fest und verabschiedet sich ohne rettung, der prozess bleibt aber am laufen und man bekommt ihm im win tastmanager auch nicht abgeschossen...nach ner weile bekommt man vom plc control ne nette meldung: kommunikationsfehler(#1): es wird ausgeloggt. danach kann man nur noch neustarten, da man nix mehr zum laufen bekommt.&lt;/p&gt;
&lt;p&gt;für die, die es vielleicht interessiert, der hochpriorisierten task mit 1ms als taktgeber funzt inzwischen prima.&lt;/p&gt;
&lt;p&gt;mfg speed&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>TwinCAT Zykluszeit Basiszeit</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/a38548e1df/?limit=25#f738" rel="alternate"/><published>2020-02-28T09:46:29.229000Z</published><updated>2020-02-28T09:46:29.229000Z</updated><author><name>mactoolz</name><uri>https://forge.codesys.com/u/mactoolz/</uri></author><id>https://forge.codesys.come5f55cab11c5d5f5ea40569ea2e9f313783f3a6f</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hallo,&lt;/p&gt;
&lt;p&gt;also jeden Rechner bekommst du zu arbeiten. Ganz einfach&lt;/p&gt;
&lt;p&gt;for udCount := 0 to 4294967295 do&lt;br/&gt;
 mach irgendwas auch wenn wenig aber die Schleife läuft seeeehr lange, definitiv auch mit dem iCore7 und wenn nicht dann sooo....&lt;br/&gt;
end_for&lt;/p&gt;
&lt;p&gt;for udCount := 0 to 4294967295 do&lt;br/&gt;
    for udCount := 0 to 4294967295 do&lt;br/&gt;
         und mach hier irgendwas .... egal ...&lt;br/&gt;
    end_for&lt;br/&gt;
end_for&lt;/p&gt;
&lt;p&gt;oder ....&lt;/p&gt;
&lt;p&gt;MacToolz&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>TwinCAT Zykluszeit Basiszeit</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/a38548e1df/?limit=25#b4c0" rel="alternate"/><published>2020-02-28T09:46:22.439000Z</published><updated>2020-02-28T09:46:22.439000Z</updated><author><name>SpeedFreak</name><uri>https://forge.codesys.com/u/speedfreak/</uri></author><id>https://forge.codesys.com9eca5f71a4f4045d2cbbe90ec672c0f8efa5755b</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;nein habe ich noch nicht, also doch habe ich, aber ich komme immer auf die 1ms, weil genauer geht es ja nicht mit TIME(). spontan fällt mir garnix ein, womit ich den rechner länger als 1ms beschäftigen könnte...wie schon gesagt der rechner is dermaßen schnell... da kann ich den größten stuss zusammenschreiben und der zuckt überhaupt nicht... macht aber nix...&lt;/p&gt;
&lt;p&gt;ich weiß jetz erstmal, wo mein eigentliches problem her kommt. ich wollte praktisch folgendes realisieren. ich nehme einen task mit 1ms und höchster prio her. in diesem task wollte ich einen takt/frequenzgenerator basteln. das programm wollte ich mit input-variablen "von außen" aufrufen können und so für verschiedene funktionen mir definierte takte von zb 8ms oder so geben lassen. als "taktquelle" habe ich zwei TON-FBs so miteinander verschaltet, dass sie sich gegenseitig ein und ausknipsen. das hat soweit auch funktioniert....mit einem haken... wenn ich zeiten kleiner 100ms (!!!) fahren wollte...zb 10ms hatte ich "verluste" es kamen dann halt nicht mehr zb 6000 takte pro minute sondern zb 5500 oder irgendsowas. bei 100 ms war das noch kein problem da kamen 600/min --&amp;gt; stimmte also, hab ich dann kleinere zeiten versucht war feierabend. ein kollege wies mich auf den "fehler" hin. die Bausteine TON und TOF ...also ein- bzw ausschaltverzögerungen... können diese kurzen verzögerungen nicht sicher schalten...warum auch immer, laut seiner aussage sei das so in der iec 61131 festgehalten.&lt;/p&gt;
&lt;p&gt;andererseits brauche ich diese teile auch nich mehr, da mein task selber ja schön regelmäßig aller 1ms durchläuft und ich einfach "mitzählen" und mir einfach die nötigen ausgabe-variablen bauen kann.&lt;br/&gt;
ich weiß, dass das für viele hier sehr trivial sein dürfte...ich fang halt grad erst an.&lt;/p&gt;
&lt;p&gt;mfg speed&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>TwinCAT Zykluszeit Basiszeit</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/a38548e1df/?limit=25#c652" rel="alternate"/><published>2020-02-28T09:46:20.046000Z</published><updated>2020-02-28T09:46:20.046000Z</updated><author><name>KlOis</name><uri>https://forge.codesys.com/u/klois/</uri></author><id>https://forge.codesys.comede3cb15c5a00dcf5037ba1eb164394a0e474e26</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hey SpeedFreak,&lt;/p&gt;
&lt;p&gt;ich habe noch kein IPC von Beckhoff genutzt, deshalb weiß ich leider nicht ob es auf diesen Geräten unterstützt wird. Aber es ist ja von deiner Laufzeitumgebung abhängig, die installiert ist.&lt;/p&gt;
&lt;p&gt;hast du mal die Variante von Rolf getestet?&lt;br/&gt;
(also auch bewusst Operationen ausgeführt die länger als ein Zyklus dauern &lt;span&gt;[z.B. lange Schleife]&lt;/span&gt;)&lt;/p&gt;
&lt;p&gt;Gruß &lt;br/&gt;
Klaus&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>TwinCAT Zykluszeit Basiszeit</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/a38548e1df/?limit=25#9931" rel="alternate"/><published>2020-02-28T09:46:13.139000Z</published><updated>2020-02-28T09:46:13.139000Z</updated><author><name>SpeedFreak</name><uri>https://forge.codesys.com/u/speedfreak/</uri></author><id>https://forge.codesys.come2027f548ab40cda0bf6909e20ba524844e6982b</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;nicht unterstützt... mh keine ahnung, wenn ich dir mein system nenne, greift sich warscheinlich jeder hier an den kopf  &lt;/p&gt;
&lt;p&gt;ich entwickle auf nem laptop mit core i7 und ner intel-netzwerkkarte... hatte gehofft, dass das nich so weit weg is von einem beckhoff-ipc.&lt;/p&gt;
&lt;p&gt;mfg speed&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>TwinCAT Zykluszeit Basiszeit</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/a38548e1df/?limit=25#ffef" rel="alternate"/><published>2020-02-28T09:46:10.454000Z</published><updated>2020-02-28T09:46:10.454000Z</updated><author><name>KlOis</name><uri>https://forge.codesys.com/u/klois/</uri></author><id>https://forge.codesys.comecef636a969f9bd1cf487610fafa934d8704f3a5</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hallo SpeedFreak,&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;SpeedFreak hat geschrieben:&lt;/strong&gt;&lt;br/&gt;
@KlOis:bei mir sieht das fenster dort leider etwas anders aus. ich finde die stelle nicht, wo ich diese häkchen setzen könnte (bild hängt dran)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;CoDeSys Hilfe hat geschrieben:&lt;/strong&gt;&lt;br/&gt;
System-Ereignisse&lt;br/&gt;
Anstelle einer Task kann auch ein Systemereignis (Event) einen Projektbaustein zur Abarbeitung aufrufen. Die dazu verwendbaren Systemereignisse sind zielsystemabhängig (Definition erfolgt über eine Beschreibungsdatei im XML-Format, die in der Target-Datei referenziert wird). Sie setzen sich zusammen aus der Liste der unterstützten Standardsystemereignisse der Steuerung und eventuell hinzugefügten herstellerspezifischen Ereignissen. Mögliche Ereignisse sind z.B. Stop, Start, Online Change. &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Also so wie ich schon sagte, es ist Steuerungsabhängig und bei dir scheint es nicht unterstützt zu werden.&lt;/p&gt;
&lt;p&gt;Gruß&lt;br/&gt;
KlOis&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>TwinCAT Zykluszeit Basiszeit</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/a38548e1df/?limit=25#8a83" rel="alternate"/><published>2020-02-28T09:46:03.339000Z</published><updated>2020-02-28T09:46:03.339000Z</updated><author><name>SpeedFreak</name><uri>https://forge.codesys.com/u/speedfreak/</uri></author><id>https://forge.codesys.comebc740bb058b18af914ef18748fdc179ba5b86f9</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;@KlOis:bei mir sieht das fenster dort leider etwas anders aus. ich finde die stelle nicht, wo ich diese häkchen setzen könnte (bild hängt dran)&lt;/p&gt;
&lt;p&gt;@Rolf_Geisler: danke, ich wer das mal probieren!&lt;/p&gt;
&lt;p&gt;merkwürdig: im twincat system manager unter "sps-konfiguration" kann man für jeden task unter "online" ein diagram sehen mit irgendwelchen zeiten, was hat es damit auf sich? bei mir steht dort zb total: 20µs cpu: 12µs . wie ist das zu verstehen? mein programm ist zwar nicht riesig, aber als zykluszeit kommt mir das iwie sehr kurz vorher....ok, ich hab nen relativ flotten rechner, aber kann das sein?&lt;/p&gt;
&lt;p&gt;mfg speed&lt;/p&gt;
&lt;p&gt;&lt;img alt="IMG: TwinCAT_Taskkonfig.PNG" rel="nofollow" src="https://forum-de.codesys.com//download/file.php?id=601"/&gt;&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>