easy-forum

Deutsch - Software => easySoft => Thema gestartet von: weiss_nix am Januar 30, 2020, 22:23:15 Nachmittag

Titel: Indizierter Zugriff auf Merker Array in ST
Beitrag von: weiss_nix am Januar 30, 2020, 22:23:15 Nachmittag
Hallo Easy Gemeinde, hallo EATON!!!

Betreff: EasySoft7.11 / Userfunktion / Programmiersprache "ST"
In einer UF habe ich 480 Merker zur Verfügung (laut Hilfe)
M[128] := false;   // funktioniertM[129] := false;   // stoppt mit Fehlermeldung (siehe Anhang)gibt es hierfür eine Erklärung zumal die Plausibilitätskontrolle nicht meckert!
Titel: Antw:Indizierter Zugriff auf Merker Array in ST
Beitrag von: Konni66 am Februar 14, 2020, 13:18:11 Nachmittag
Hallo weiss_nix!

Ich kann das beschriebene Verhalten reproduzieren.

Innerhalb eines UF kann der Index für den Zugriff auf einen Merker maximal 128 betragen.
Im Hauptprogramm ist ein Index bis 512 zulässig. (=alle Merker durch eine Schleife initialisierbar; abzüglich M1-32=MD1 für die Zählvariable).

Die Angabe 480 Merker im UF (im Helpfile) wird auf 512 korrigiert. Ist ein Tippfehler.  ::)

Ich frage die Entwicklung an, ob es einen Grund dafür gibt.

Warum die Plausibilitätskontrolle dazu nichts sagt?
Ganz einfach: Zum Zeitpunkt der Prüfung steht kein Wert in der Indexvariable, da das Programm ja nicht läuft.
Deshalb steht im Index auch kein unzulässiger Wert. -> kein Plausibilitätsfehler.


Grüße,
Konni


Titel: Antw:Indizierter Zugriff auf Merker Array in ST
Beitrag von: weiss_nix am Februar 14, 2020, 16:49:01 Nachmittag
Hallo Konni,

vorerst recht herzlichen Dank für das Feedback.

Die Aussage mit der Plausibilitätskontrolle ist für mich aber nicht ganz schlüssig, siehe Screenshot. Aber mal abwarten welche Information von den Entwicklern kommt.
Titel: Antw:Indizierter Zugriff auf Merker Array in ST
Beitrag von: Konni66 am Februar 14, 2020, 16:57:07 Nachmittag
Hallo Weiss_nix,

ist doch klar. Bei deinem Screenshot stehen schon Werte drin - das kann die Plausibilitätskontrolle schon abfangen.
Steht aber zum Zeitpunkt der Plausibilitätskontrolle nur eine "Variable" (der generierte Index der Schleifenvariable) in der eckigen Klammer, weiß die PK noch nichts über den möglichen Wert zur Laufzeit.

Grüße,
Konni
Titel: Antw:Indizierter Zugriff auf Merker Array in ST
Beitrag von: weiss_nix am Februar 14, 2020, 17:02:57 Nachmittag
Hallo Konni,

das ist mir schon klar ...
In einer UF wird "M[512]" nicht bemängelt aber bei Ausführung geht die Steuerung (Simulation) auf Stop.
Titel: Antw:Indizierter Zugriff auf Merker Array in ST
Beitrag von: Konni66 am Februar 14, 2020, 17:06:48 Nachmittag
...jepp, du hast Recht.

Also muss ich jetzt herausbekommen, warum in einem UF der Index max. 128 sein darf und ob die Plausibilitätskontrolle im UF an der Stelle deaktiviert ist.


Titel: Antw:Indizierter Zugriff auf Merker Array in ST
Beitrag von: weiss_nix am Februar 14, 2020, 17:23:25 Nachmittag
... oder nach einem Update doch alle Merker indizierbar sind  ;)
die 128 empfinde ich teilweise schon als Einschränkung  :'(
da indizierte Bit-Manipulation dann nur bis MD04 möglich ist.
Titel: Antw:Indizierter Zugriff auf Merker Array in ST
Beitrag von: Konni66 am Februar 17, 2020, 09:57:52 Vormittag
Hallo weiss_nix,

habe das Verhalten formuliert und an die Entwicklung weitergegeben.
Sobald ich näheres über den Grund der eingeschränkten Indizes erfahre, lasse ich es dich wissen.

Danke für deinen Hinweis!

Grüße,
Konni
Titel: Antw:Indizierter Zugriff auf Merker Array in ST
Beitrag von: weiss_nix am Oktober 16, 2020, 07:39:48 Vormittag
zur Information:
... der Fehler dürfte in easySoft 7.21 behoben sein bzw. ist nicht mehr reproduzierbar.
Es ist nun in einer UF ohne Fehler möglich alle Merker bis M[512] per Index anzusprechen.

@Konni, danke für die Intervention