Step 7 +AR2 Pointer Message 34:4311

Hallo Kulmix,

Heidt das du hast den Baustein von der S7 Steuerung zurück in dein Projekt kopiert?
So wie das aussieht war das mal SCL hier ist einfach zurück holen leider nicht möglich. Hast evtl irgendwo das Original Projekt?

Gruß TIA
 
Hi
ich habe das gemeinsame Programm mit PLC-318, es funktioniert, aber ich sehe ein Problem mit seiner Kompilierung

Das funktioniert? Das Problem besteht darin, dass +AR1/+AR2 nur mit Integer arbeitet. Also ab 4096 (SRL3 ergibt 32768) geht's schief. Man kann sich behelfen, in dem man mit DINT addiert.

Übrigens, in einem FB das AR2 zu verbiegen, ohne es vorher zu sichern, finde ich sehr mutig! Das macht der Compiler mit Multi-Instanzen?
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Kulmx

Auf deinen Screenshot kommt schon die Meldung das dein Baustein in einer anderen Sprache erstellt wurde. Im anderen Screenshot steht an auch erstellsprache überall STL das ist Englisch für SCL also Hochsprache hier hast du ohne die Original Projekt Datein wohl nicht viele Changen.


Gruß TIA
 
Bei den SCL
Auf deinen Screenshot kommt schon die Meldung das dein Baustein in einer anderen Sprache erstellt wurde. Im anderen Screenshot steht an auch erstellsprache überall STL das ist Englisch für SCL also Hochsprache hier hast du ohne die Original Projekt Datein wohl nicht viele Changen.

War STL nicht Statement List und steht für AWL?
 
... Der Code sieht mehr nach MC7 als nach AWL aus...
Dann wird es wohl wie folgt sein? Der Compiler übersetzt und optimiert speziell für die jeweilige CPU bzw. für den jeweiligen Prozessor. Dadurch können Anweisungen entstehen, die es in einer Anwender-AWL nicht gibt. "+AR2 P#6772.0" wird auf dieser 318er funktionieren, auf einer anderen vielleicht nicht.
 
Dann wird es wohl wie folgt sein? Der Compiler übersetzt und optimiert speziell für die jeweilige CPU bzw. für den jeweiligen Prozessor. Dadurch können Anweisungen entstehen, die es in einer Anwender-AWL nicht gibt. "+AR2 P#6772.0" wird auf dieser 318er funktionieren, auf einer anderen vielleicht
Kann sein.
Irgendwas hab ich auch noch mit dem UC im Hinterkopf.
Die Parameter beim Baustein-Aufruf werden - meine ich - in MC7 über Lokaldaten übergeben.
Kann sein, dass auch da der Fehler herkommt.

Ohne genauere Kenntnis der Hardware und des Projekts ist das viel Mutmaßung und Blick in die Glaskugel.
 
Übrigens, in einem FB das AR2 zu verbiegen, ohne es vorher zu sichern, finde ich sehr mutig!
In gewisser Weise wird der ursprüngliche Inhalt gesichert, weil erst P#1420.0 (11360) addiert wird und danach der gleiche Wert P#1420.0 (11360) wieder subtrahiert wird. Das funktioniert schon.
Das Problem ist hier, dass es keine negativen P# (Pointer#) gibt (P#-1420.0 = -11360 = (L#)54176 = P#6772.0) und in AWL die +AR2-Anweisung nur positive 16-Bit-Konstanten bis P#4095.7 (= 32767) akzeptiert (und es keine -AR2-Anweisung zum subtrahieren gibt). Der Code wurde aus einer Quelle <> AWL erzeugt (SCL? GRAPH? ...?) und der AWL-Code ist nur eine AWL-ähnliche Ansicht des zurückgeladenen Codes, der aber so nicht vom AWL-Compiler übersetzt werden kann.
 
Hello

AWL-->
alle Blöcke aber ohne... Auswahl. problem beim Bearbeiten von FB103 (30:404) aufgetreten

chrome_7leEjd0lDR.png
 

Anhänge

  • 1all.rar
    1all.rar
    122,5 KB · Aufrufe: 1
  • S7tgtopx_82JnauKUVR.png
    S7tgtopx_82JnauKUVR.png
    77,3 KB · Aufrufe: 11
Zuviel Werbung?
-> Hier kostenlos registrieren
AWL-->
alle Blöcke aber ohne... Auswahl. problem beim Bearbeiten von FB103 (30:404) aufgetreten
??? :unsure: Was ist denn dein konkretes Problem?

Dein Code wurde offensichtlich nicht original in AWL/STL programmiert, sondern von irgendeinem Generator erzeugt. Ohne die originalen Quellen sind deine Chancen praktisch nahezu Null, den aus der CPU herausgeladenen Code im AWL-Editor/Compiler zu übersetzen. Das erfordert umfangreiche manuelle Code-Änderungen, um einen kompatiblen übersetzbaren AWL-Code zu erhalten.

Der Code wurde aus einer Quelle <> AWL erzeugt (SCL? GRAPH? ...?) und der AWL-Code ist nur eine AWL-ähnliche Ansicht des zurückgeladenen Codes, der aber so nicht vom AWL-Compiler übersetzt werden kann.
 
vielleicht ist das ganze auch mit Speed7 ursprünglich programmiert...

U.U. mal damit probieren, die SPS auszulesen...

Aber so oder so, ohne das Ursprungsprojekt sind Änderungen einfach Mist...
 
Zurück
Oben