TIA Wie korrekt und vernünftig Peripheriebereiche kopieren?

vollmi

Level-3
Beiträge
5.436
Reaktionspunkte
1.410
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi zusammen

Früher bei Step7 habe ich Normalerweise Peripheriebereiche direkt auf DBs kopiert um dort damit weiterzuarbeiten
Code:
      L     PEB   10      T     DB400.DBB   10

In Tia wird dann aber Gemeckert dass das ein Zugriff mit nicht eindeutiger Adresse ist (weil der DB da die Digitalen "Bool" Eingänge hat)
Also kein Symbolischer zugriff möglich.

Jetzt gäbe es natürlich die Möglichkeit das mit Blockmove zu machen.
Code:
      CALL  BLKMOV
         blk_type:=Any
         SRCBLK  :=P#E0.0 BYTE 4
         RET_VAL :=#dummyI
         DSTBLK  :=P#DB132.DBX0.0 BYTE 4

IMHO unschön weil
Erstens: BlkMov zieht sich ordentlich Zykluszeit. Macht jetzt auf der Maschine nichts aus aber es stört mich halt trotzdem.
Zweitens: Peripherie die nicht direkt im Prozessabbild liegen, kann ich auch nicht direkt an Blockmove anhängen.

Wie würdet ihr das machen? Ich hab doch einige Hundert Bytes zu moven.

mfG René
 
Also bei modernen CPUs ist der Peripheriebereich weitgehend unnötig (von sehr zeitkritischen Sachen mal abgesehen), insofern ist zweitens schon mal nonsens.
Zum anderen bei mehreren 100 Byte spielen die 10 us (bei den kleinen 300ern) die der SFC20 als Grundzeit benötigt doch eher keine Rolle. Pro Byte ist er dann ab einer gewissen Kopier-Menge sogar schneller.

Insofern kann ich deine Problematik im Moment nicht wirklich nachvollziehen.

Mfg
Manuel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also bei modernen CPUs ist der Peripheriebereich weitgehend unnötig (von sehr zeitkritischen Sachen mal abgesehen), insofern ist zweitens schon mal nonsens.

Hmpf? Bin ich jetzt auf dem falschen Dampfer? Ich dachte bei allen CPUs auch modernen komme ich mit E EB EW ED etc. nur auf Adressen unterhalb 127. Alles darüber braucht einen zugriff auf den Peripheriebereich also PEW PED etc. und diese kann ich ja nicht am Blockmove anhängen.

Also ich würde den Blockmove ja liebend gerne benutzen. Wenn ich denn wüsste wie ich sinnvoll und schön auch einen PEB250 anhängen könnte oder wie ich aus dem PEB250 ein EB250 mache.

mfG René
 
Hmpf? Bin ich jetzt auf dem falschen Dampfer? Ich dachte bei allen CPUs auch modernen komme ich mit E EB EW ED etc. nur auf Adressen unterhalb 127. Alles darüber braucht einen zugriff auf den Peripheriebereich also PEW PED etc. und diese kann ich ja nicht am Blockmove anhängen.

Da bist du definitiv auf dem Holzweg. Bei allen aktuellen 300ern kannst du das Prozessabbild im Normalfall genaus so groß einstellen wie auch der Peripheriebereich sein kann (CPU-abhängig).
Die 127er Grenze existiert eigentlich gar nicht mehr.
P-Bereich.jpg
Das Bildchen stammt von der aktuellen 315-2DP, 2048 Byte Adressraum, davon 2048 Byte als Prozessabbild einstellbar.

Mfg
Manuel
 
Zurück
Oben