<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to Problem mit LIMIT</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/a70de2ff83/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/a70de2ff83/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/Deutsch/thread/a70de2ff83/</id><updated>2020-02-28T04:56:00.142000Z</updated><subtitle>Recent posts to Problem mit LIMIT</subtitle><entry><title>Problem mit LIMIT</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/a70de2ff83/?limit=25#f73c" rel="alternate"/><published>2020-02-28T04:56:00.142000Z</published><updated>2020-02-28T04:56:00.142000Z</updated><author><name>gnassel</name><uri>https://forge.codesys.com/u/gnassel/</uri></author><id>https://forge.codesys.com2ecd365e9e8335911849db1eec444d0c215644da</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hallo Hepo,&lt;/p&gt;
&lt;p&gt;das Problem ist das vorzeichenlose Byte, denn &lt;/p&gt;
&lt;p&gt;0 - 1 = 255 und in deinem Fall oben auf 9 begrenzt.&lt;/p&gt;
&lt;p&gt;Wenn du SINT verwendest, funktioniert es. &lt;br/&gt;
Oder du schreibst es so:&lt;/p&gt;
&lt;p&gt;IF M_KEY = 1 AND X &amp;lt; 9 THEN&lt;br/&gt;
    X:=X+1;&lt;br/&gt;
END_IF&lt;br/&gt;
IF M_KEY = 2 AND X &amp;gt; 0 THEN&lt;br/&gt;
    X:=X-1;&lt;br/&gt;
END_IF&lt;/p&gt;
&lt;p&gt;Grüße&lt;br/&gt;
Frank&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Problem mit LIMIT</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/a70de2ff83/?limit=25#31c4" rel="alternate"/><published>2020-02-28T04:55:54.396000Z</published><updated>2020-02-28T04:55:54.396000Z</updated><author><name>hepo</name><uri>https://forge.codesys.com/u/hepo/</uri></author><id>https://forge.codesys.com9baab60553448bf22f21b50f0d374ffec70531b0</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hallo an die Runde!&lt;/p&gt;
&lt;p&gt;Ich habe ein Problem mit der LIMIT-Funktion zum Begrenzen eines Wertebereichs:&lt;br/&gt;
Ich benutze diese Funktion, um den Wertebereich bei einer Eingabe zu limitieren. Die Eingangsvariable ist als BYTE deklariert, die Bedienung erfolgt mittels &lt;br/&gt;
AUF-/AB- Tasten zwischen 0 und 9 (ich kann systembedingt die tollen Eingabemöglichkeiten auf der VISU nicht nutzen, darum werden schlicht 2 Tasten &lt;br/&gt;
abgefragt).&lt;br/&gt;
Mein Problem besteht nun darin, dass bei einer Beschränkung der unteren Grenze auf "0" der Wert dennoch unterschritten werden kann, und der Wert auf &lt;br/&gt;
"9" (obere Grenze) springt. Das passiert tatsächlich immer nur bei einer Grenze "0", bei allen anderen Werten klappt das immer!&lt;br/&gt;
Der Code für die beiden Tasten sieht so aus:&lt;/p&gt;
&lt;p&gt;CASE M_KEY OF   (&lt;em&gt; Abfrage der Eingabetasten &lt;/em&gt;)&lt;br/&gt;
1: X:= LIMIT(0, X + 1, 9); (&lt;em&gt; Aufwärtszähler &lt;/em&gt;)&lt;br/&gt;
2: X:= LIMIT(0, X - 1, 9); (&lt;em&gt; Abwärtszähler &lt;/em&gt;)&lt;br/&gt;
END_CASE&lt;/p&gt;
&lt;p&gt;Wie kann ich diesen Fehler abfangen?&lt;/p&gt;
&lt;p&gt;Grüße aus dem Alpenland!&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>