Autor Thema: Indizierter Zugriff auf Merker Array in ST  (Gelesen 4266 mal)

Offline weiss_nix

  • Sr. Member
  • ****
  • Beiträge: 608
  • it has to be easy, it's a easy!
Indizierter Zugriff auf Merker Array in ST
« 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!
« Letzte Änderung: Januar 31, 2020, 17:52:57 Nachmittag von weiss_nix »
Sollte ich (gefährliches) Halbwissen verbreiten, beuge ich demütig mein Haupt mit der Gewissheit versagt zu haben!
WICHTIG: Sämtliche Programme dienen lediglich der Veranschaulichung von Funktionen und sind nicht für den Produktiveinsatz geeignet!

Offline Konni66

  • Global Moderator
  • Full Member
  • *****
  • Beiträge: 267
  • Keine Panik!
    • Eaton Trainingscenter Bonn
Antw:Indizierter Zugriff auf Merker Array in ST
« Antwort #1 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


« Letzte Änderung: Februar 14, 2020, 13:36:27 Nachmittag von Konni66 »
Die Programmierbeispiele sind zu Schulungszwecken gedacht. Trotz sorgfältiger Erstellung und Funktionsprüfung können Fehler nicht ausgeschlossen werden. Daher erfolgt die Verwendung der Programmteile in eigener Verantwortung.

Offline weiss_nix

  • Sr. Member
  • ****
  • Beiträge: 608
  • it has to be easy, it's a easy!
Antw:Indizierter Zugriff auf Merker Array in ST
« Antwort #2 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.
Sollte ich (gefährliches) Halbwissen verbreiten, beuge ich demütig mein Haupt mit der Gewissheit versagt zu haben!
WICHTIG: Sämtliche Programme dienen lediglich der Veranschaulichung von Funktionen und sind nicht für den Produktiveinsatz geeignet!

Offline Konni66

  • Global Moderator
  • Full Member
  • *****
  • Beiträge: 267
  • Keine Panik!
    • Eaton Trainingscenter Bonn
Antw:Indizierter Zugriff auf Merker Array in ST
« Antwort #3 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
« Letzte Änderung: Februar 14, 2020, 17:02:09 Nachmittag von Konni66 »
Die Programmierbeispiele sind zu Schulungszwecken gedacht. Trotz sorgfältiger Erstellung und Funktionsprüfung können Fehler nicht ausgeschlossen werden. Daher erfolgt die Verwendung der Programmteile in eigener Verantwortung.

Offline weiss_nix

  • Sr. Member
  • ****
  • Beiträge: 608
  • it has to be easy, it's a easy!
Antw:Indizierter Zugriff auf Merker Array in ST
« Antwort #4 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.
Sollte ich (gefährliches) Halbwissen verbreiten, beuge ich demütig mein Haupt mit der Gewissheit versagt zu haben!
WICHTIG: Sämtliche Programme dienen lediglich der Veranschaulichung von Funktionen und sind nicht für den Produktiveinsatz geeignet!

Offline Konni66

  • Global Moderator
  • Full Member
  • *****
  • Beiträge: 267
  • Keine Panik!
    • Eaton Trainingscenter Bonn
Antw:Indizierter Zugriff auf Merker Array in ST
« Antwort #5 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.


Die Programmierbeispiele sind zu Schulungszwecken gedacht. Trotz sorgfältiger Erstellung und Funktionsprüfung können Fehler nicht ausgeschlossen werden. Daher erfolgt die Verwendung der Programmteile in eigener Verantwortung.

Offline weiss_nix

  • Sr. Member
  • ****
  • Beiträge: 608
  • it has to be easy, it's a easy!
Antw:Indizierter Zugriff auf Merker Array in ST
« Antwort #6 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.
Sollte ich (gefährliches) Halbwissen verbreiten, beuge ich demütig mein Haupt mit der Gewissheit versagt zu haben!
WICHTIG: Sämtliche Programme dienen lediglich der Veranschaulichung von Funktionen und sind nicht für den Produktiveinsatz geeignet!

Offline Konni66

  • Global Moderator
  • Full Member
  • *****
  • Beiträge: 267
  • Keine Panik!
    • Eaton Trainingscenter Bonn
Antw:Indizierter Zugriff auf Merker Array in ST
« Antwort #7 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
Die Programmierbeispiele sind zu Schulungszwecken gedacht. Trotz sorgfältiger Erstellung und Funktionsprüfung können Fehler nicht ausgeschlossen werden. Daher erfolgt die Verwendung der Programmteile in eigener Verantwortung.

Offline weiss_nix

  • Sr. Member
  • ****
  • Beiträge: 608
  • it has to be easy, it's a easy!
Antw:Indizierter Zugriff auf Merker Array in ST
« Antwort #8 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
Sollte ich (gefährliches) Halbwissen verbreiten, beuge ich demütig mein Haupt mit der Gewissheit versagt zu haben!
WICHTIG: Sämtliche Programme dienen lediglich der Veranschaulichung von Funktionen und sind nicht für den Produktiveinsatz geeignet!