TIA indirekte Eingangsabfrage funz nicht

s7Opa

Level-1
Beiträge
128
Reaktionspunkte
8
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich erhalte im TIA 13 die Fehlermeldung

Hilfe zur Meldung 619:58
Glossar
Indirekte Adressierung von Variablen (Panels, RT Advanced)
Die neuen Funktionen der S7-1500-CPU im Überblick (S7-1200, S7-1500)
Grundlagen zu Adressregistern (S7-1200, S7-1500)
Indirektes Adressieren von Variablen (S7-300, S7-400)
Hilfe zur Meldung 619:58
Indirekte Adressierung von Variablen (Panels, RT Advanced)
Hilfe zur Meldung 619:58
Indirektes Adressieren von Variablen (S7-300, S7-400)
Hilfe zur Meldung 619:58
Indirektes Adressieren von Variablen (S7-300, S7-400)
Grundlagen zum Bausteinaufruf in SCL
Beschreibung

Der Aufruf des Funktionsbausteins ist ungültig.

Behebung

Prüfen Sie, ob der eingegebene Name bereits an anderer Stelle verwendet wurde.

Weitere Informationen zum Bausteinaufruf finden Sie unter "Siehe auch".

...wenn ich ein E-Wort mit %EW(var) abfrage.
Code:
#i := 2;
FOR #i := 2 TO 8 DO
  #IN := %EW(#i);
END_FOR;
Was passt nicht? Danke.
 
Welche CPU wird verwendet?

Bei 1200/1500 muss mit PEEK gearbeitet werden.
Zum Lesen eines EWs mit PEEK_WORD in der AREA 16#81:
Code:
FOR #i := 2 TO 8 BY 2 DO
    #IN := PEEK_WORD (AREA := 16#81, DBNUMBER := 0, BYTEOFFSET := #i);
END_FOR;
PS: Die Schrittweite 2 in der FOR-Schleife dürfte zum Auslesen der EWs ebenfalls sinnvoll sein, oder?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
jaa, ich habe das von einer 300ter in eine 1200ter kopiert.
Das mit dem Peek_word kannte ich nicht, taucht aber in keiner Hilfe in dem Fehlerzusammenhang auf.

danke

so gehts...
SCL01.jpg

Zum Schreiben muß ich dann bestimmt einen Poke_irgendwas benutzen.
 
Zuletzt bearbeitet:
Das ist auch wieder ein schönes Beispiel, wie eine bisher elegante Zugriffsmöglichkeit bei den "neuen" CPUs durch eine Steinzeitgrütze wie Peek mit Bereichskennungen aus den Any-Pointern der alten S7-300/400 und Datenbausteinnummern verunstaltet wurde.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
HIMMEL!,

ist das ein mühseliger Scheiß mit TIA SCL zu schreiben!
Die 1200ter kann keine Haltepunkte (kotz). Wäre ja toll wenn wenigstens der PLCSIM das übernehmen könnte.
Man verbrennt mehr Zeit mit Fesnsterschieberei und an diese Unmengen von bescheuerten Hints und Autotexteinfügungen und und ...
 
Zuletzt bearbeitet:
Ich finde viel schlimmer, dass diverse Änderungen inkonsistent und logisch nicht zu erklären sind.

Nehme ich an: das Prozessabbild ist ein globaler Speicherbereich.
Dann wäre der Zugriff über den Indexoperator mit den eckigen Klammern wie EW[#index] logisch verständlich. Das verhält sich dann so wie wenn ich ein Word-Array in einem anderen Speicherbereich ablege.

Die Änderung bei TIA S7-300/400 mit den runden Klammern und EW(#index) ist dann nicht mehr so logisch. Wofür stehen runde Klammern sonst in SCL? Entweder um bei arithmetischen Operationen die Operations-Reihenfolge anzupassen, oder zur Einleitung von Funktionsparametern. Ist EW eine Funktion? Nein. Will ich damit eine Reihenfolge festlegen? Nein. Also warum runde Klammern?

Jetzt könnte man bei der 1200/1500 argumentieren, dieser Zugriff ist in der IEC nicht festgelegt, soll entfernt und durch eine eigene Funktion wie eben Peek() ersetzt werden. Das würde ich sogar durchgehen lassen, wenn man nicht an anderer Stelle den Sprachwortschatz von SCL mit jedem Servicepack um neue Operationen erweitern würde.

Ich finde das alles inkonsistent. Ich kann nicht das Sprachkonzept verstehen und dann anwenden, sondern muss diese Dinge am besten ohne weiter darüber nachzudenken auswendig lernen.
 
Moin,

du musst "MyByte" --> Remanenz "im IDB setzen " auswählen und dann als Datentyp AT angeben

Raik
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin,

du musst "MyByte" --> Remanenz "im IDB setzen " auswählen und dann als Datentyp AT angeben

Verstehe ich nicht. Was hat die Sicht mit Remanenz zu tun? Es gibt aber trotzdem ein Fehler.
Und, den Datentyp AT gibt es nicht in der Auswahl.

Oder die standardmäßige Optimierung des Bausteins abwählen.
Insbesondere wenn du die Sicht mal bei einem FC benötigst.

...die Einstellung habe ich irgendwo mal gesehen. Doch heute finde ich nix mehr. Ich klappe das Ding zu und Feiertag!


Habe auch das Beispiel unter

https://support.industry.siemens.co...blen-mit-dem-schlüsselwort-at-?dti=0&lc=de-WW

ausprobiert. Geht auch nicht. Habe das TIA vorige Tage auf SP2 geupt - kommt das daher??
(Der Mist hängt mir langsam richtig zum Hals raus, das war nie ein Thema in 5.5 eine Variablensicht zu definieren.)
 
Zuletzt bearbeitet:
du musst "MyByte" --> Remanenz "im IDB setzen " auswählen ...
Verstehe ich nicht. Was hat die Sicht mit Remanenz zu tun?
Eigentlich nichts.
Ist der Versuch, die notwendige "Deoptimierung" der Variablen zu verschleiern.


... und dann als Datentyp AT angeben
Und, den Datentyp AT gibt es nicht in der Auswahl.
Taucht im Datentyp der folgenden Zeile auf, sobald man die "Remanenz" (also die optimierte Ablage) der zu sichtenden Variable wie von kiar oder mir angegeben umstellt.



Oder die standardmäßige Optimierung des Bausteins abwählen.
Insbesondere wenn du die Sicht mal bei einem FC benötigst.
...die Einstellung habe ich irgendwo mal gesehen. Doch heute finde ich nix mehr.
Bei den Attributen in den Eigenschaften des Bausteins.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Zitat Zitat von s7Opa Beitrag anzeigen
Zitat Zitat von kiar Beitrag anzeigen
... und dann als Datentyp AT angeben
Und, den Datentyp AT gibt es nicht in der Auswahl.

Ich habs endlich. Es ist tatsächlich einfacher als 'ne Tasse Kaffee umzustossen. Aber irgendwie erwartet man immer was besonderes bei "s".
Ich bin mal gespannt ab welcher Version man jedes Wort oder Tastaturzeichen grundsätzlich nur noch in eigenes dafür erschaffene Zellen
eingeben muß. :ROFLMAO::ROFLMAO:
 
Zurück
Oben