ThomasMaulwurf
Level-1
- Beiträge
- 41
- Reaktionspunkte
- 1
-> Hier kostenlos registrieren
Hallo!
Ich sitzte jetzt seit Stunden hier am Forum und bekomme es nicht zurecht gebastelt (mangelnde AWL- und Pointer-Erfahrung machen's leider auch nicht besser).
Ziel-FB:
- IN: Startadresse eines Datenpakets (E / A / M / DBX / PEW / PAW)
- IN: Länge des zu schiebenden Bereichs in Byte
- OUT: Frei wählbarer Datenbereich in DB / IDB
...ergo: Beginne bei irgendwo, nehme ab dort so und so viele Bytes, schreibe sie in ein Ziel-DB (gerade bei PEW sind ja gern WORD, BYTE etc. gemischt... die entsprechende Struktur muss man dann im Ziel-DB halt so anlegen, dass die Bytes korrekt verteilt werden)+ Crossreferenz-Fähigkeit
Probleme:
- Meine beiden "IN"s könnten evtl. von einem Zeiger abgedeckt werden - ist aber nicht gewünscht.
- SFC14 macht einen guten Job beim PEW (dank Harald http://www.sps-forum.de/simatic/77941-sfc14-laddr-mit-pew-beschalten.html ), aber die Bereichslänge bekomm ich nicht flexibel, außerdem möchte ich Slaves auch Modulübergreifend auslesen
- SFC20 will wiederum kein PEW fressen (Ansatz evtl. http://www.sps-forum.de/simatic/68389-eingangswort-ueber-pointer-einlesen-anfaengerfrage.html )
- Wie bekomme ich den OUT flexibel? Ich kann an RECORD / DSTBLK einen Zeiger angeben, aber scheinbar keinen aus herausführen
Ansatz:
- je nach Eingabe einen ANY-Pointer berechnen lassen ... nur: wie bringt man dem bei, dass er verschiedene Datentypen "erkennt"?
Ich werde noch eine Weile hier drüber brüten: http://www.sps-forum.de/faq/12923-any-zeiger-fuer-datentypen.html
... und AWL studieren.
In der Zwischenzeit wäre ich für Ideen, Input, etc. dankbar!
Gruß, Thomas
Ich sitzte jetzt seit Stunden hier am Forum und bekomme es nicht zurecht gebastelt (mangelnde AWL- und Pointer-Erfahrung machen's leider auch nicht besser).
Ziel-FB:
- IN: Startadresse eines Datenpakets (E / A / M / DBX / PEW / PAW)
- IN: Länge des zu schiebenden Bereichs in Byte
- OUT: Frei wählbarer Datenbereich in DB / IDB
...ergo: Beginne bei irgendwo, nehme ab dort so und so viele Bytes, schreibe sie in ein Ziel-DB (gerade bei PEW sind ja gern WORD, BYTE etc. gemischt... die entsprechende Struktur muss man dann im Ziel-DB halt so anlegen, dass die Bytes korrekt verteilt werden)+ Crossreferenz-Fähigkeit
Probleme:
- Meine beiden "IN"s könnten evtl. von einem Zeiger abgedeckt werden - ist aber nicht gewünscht.
- SFC14 macht einen guten Job beim PEW (dank Harald http://www.sps-forum.de/simatic/77941-sfc14-laddr-mit-pew-beschalten.html ), aber die Bereichslänge bekomm ich nicht flexibel, außerdem möchte ich Slaves auch Modulübergreifend auslesen
- SFC20 will wiederum kein PEW fressen (Ansatz evtl. http://www.sps-forum.de/simatic/68389-eingangswort-ueber-pointer-einlesen-anfaengerfrage.html )
- Wie bekomme ich den OUT flexibel? Ich kann an RECORD / DSTBLK einen Zeiger angeben, aber scheinbar keinen aus herausführen
Ansatz:
- je nach Eingabe einen ANY-Pointer berechnen lassen ... nur: wie bringt man dem bei, dass er verschiedene Datentypen "erkennt"?
Ich werde noch eine Weile hier drüber brüten: http://www.sps-forum.de/faq/12923-any-zeiger-fuer-datentypen.html
... und AWL studieren.
In der Zwischenzeit wäre ich für Ideen, Input, etc. dankbar!
Gruß, Thomas