Brauche Hilfe bei ner SCL -> AWL Übersetzung :-)

... aber du weißt doch, wo sich Str in Beziehung zu Data befindet.

Anmerkung:
Das mit der Struktur hatte ich überhaupt nicht realisiert ... :rolleyes:
 
Zuviel Werbung?
-> Hier kostenlos registrieren
nein das eben nicht ich weiß ich habe einen DB Data und irgendwo darin ist der String an welcher stelle, habe ich keine ahnung. das muss doch gehen :)
dachte das wäre ne gute möglichkeit um das mit dem selbstgeschriebenen Blockmove zu umgehen. ich muss möglichst wenig Programm-Code haben.
 
Hallo ...?
Wenn du mit einer Struktur arbeitest, so ist deren Aufbau schon vorher festgelegt - deren Aufbau ändert sich zur Laufzeit nicht. Nicht einmal die Position von Data (also der Struktur) ist im DB variabel - auch diese Position ist schon (von dir) festgelegt. Step7 arbeitet hier nur augenscheinlich mit variablen Adressen.
 
ich weiß, da ich aber einen Code generiere und ich dafür nur die Symbolischen Namen bekomme, kann ich unmöglich die festen dbs wissen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich glaube, wir reden aneinander vorbei ...

Solange, wie du mit symbolischen Operanden arbeitest ist die Adresse desselben IMMER fest vergeben. Etwas anderes wäre es, wenn du dir für irgend etwas einen Pointer zusammenbasteln würdest (aber das tust du ja nicht) - dann wäre aber ein symbolischer Zugriff nicht mehr machbar.

Das Arbeiten mit Pointern in diesem (jetzigen) Zusammenhang findet nur deshalb statt, damit du nicht immer alle Adressen neu (selbst) erstellen mußt, wenn du mal irgendwo eine Variable dazwischen baust. Dein ganzes Programm könnte aber auch komplett aus absoluten Zugriffen bestehen und würde auch funktionieren. Letztlich werden im MC7-Code aus Allem absolute Zugriffe gemacht ...
 
Hallo, die Adresse ist fest vergeben ok, aber ich kenne sie nicht, dass will ich damit sagen. ich kenne nur den Symbolnamen. Data.Str wo der "Str" in Data steht weiß ich allerdings nicht da ich nur den Symbolnamen kenne :)
ich weiß nicht ob du das verstehst was ich sagen will.

also wenn ich nicht lesend auf db zugreifen kann muss ich wirklich byte für byte kopieren. ich versuche mal zu testen wieviel codeunterschied das macht
 
Hi,

warum muss das unbedingt mit AWL gemacht werden? Bei so etwas ist SCL einfach Klasse.

Gruss Daniel
 
@4L und Dalbi:
ich verstehe den Sinn der Übung auch nicht, aber seine Source ist schon SCL - es soll halt nun ein direkt in AWL erstellter Code nachkommen. Ich hatte es auch schon geschrieben : man muß sich nicht jeden Spaß gönnen ... aber ihr wißt ja : des Menschen Wille ist sein Himmelreich ... ;)

@Kai:
Mir ist schon klar, dass du die Position des Struct's nicht kennst (willst) - wohl aber dessen Aufbau. In diesem VORGEGEBENEN Aufbau befindet sich das Unter-Element an einer bestimmten Stelle. Diese mußt du direkt ansprechen. Änderst du den Struct, so mußt du das dann natürlich nachpflegen. Das würde in SCL aber genauso gelten (dort müßtest du dann neu übersetzen - wenigstens).
 
Zuviel Werbung?
-> Hier kostenlos registrieren
der Strukt ändert sich nie aber ich komme doch auch nicht lesend an das 2te Byte oder?

Also für alle die neu sind :)

es geht gerade nur noch darum das mir der Blkmov das erste Byte des Headers mit kopiert, ich das aber nicht will. Falls da von euch noch ideen kommen ich weiß nicht was in awl so möglich ist.
 
Woher weiß der Pointer wo Data.Str der Str anfängt? auch wenns immer gleich bleibt kenne ich den String anfang nicht. Oder wie meint ihr das? stehe ich gerade nur aufm schlau?
Code:
L P##Data
LAR1
L B[AR1, P#10.0]
T #saveHeader
 
Das ist das Problem ihr denkt ich habe einen festen baustein. Das problem ist das ich einen codegenerator habe dieser wird nur mit den Symbolnamen gefüttert und der generiert awl code. da es für verschiedene anwender ist kann ich vorher noch nicht sagen was der in seinem db drin stehen hat. deswegen bringt es gar nichts wenn ich jetzt meinen db zeige mit den db adressen.
wichtig ist der hat nen symbolnamen und mehrere Variablen drin deren typen bekannt sind aber in welcher reihenfolge ist auch nicht klar.
ich hoffe das war verständlich.
ich weiß nicht wie ich es sonst noch beschreiben soll.
 
Zurück
Oben