SFC20 Schieberegister

mariob

Level-3
Beiträge
2.052
Reaktionspunkte
276
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
das leidige Thema mal wieder, ich bin schon am probieren, mal sehen was dann passiert. Folgendes Problem, wenn ich ein Schieberegister mit dem SFC 20 bauen möchte, dürfen sich laut Doku die Speicherbereiche nicht überlappen. Genau das passiert aber bei so einer Schieberegistersache in einem DB. Oder muß ich das über einen zweiten DB tun? Also kopieren von DB1 nach DB2 um eine Stelle verschoben und dann in den DB1 zurück?
Wie ist der Zeitaufwand für sagen wir 1000 Variablen?

Gruß
Mario
 
Hallo Mario,

dass hier wäre eine Lösung
Oder muß ich das über einen zweiten DB tun? Also kopieren von DB1 nach DB2 um eine Stelle verschoben und dann in den DB1 zurück?
Wie lange der SFC 20 braucht um dann 2000 Worte zu kopieren weiss ich leider nicht,
aber ich würde in so einem Fall einen Ringspeicher verwenden.

Grüße
Gebs
 
Danke erstmal
für die Hinweise, ich habe mir gerade etwas zusammengestrickt, @Jochen, der Link verweist aber auf ein anderes Thema:), was solls, ich hatte in den letzten Tagen auch schon einen passenden Beitrag gefunden, finde denselben aber nicht mehr. Ich denke es war derselbe.
Ich teste jetzt erstmal und schreibe dann vielleicht nochwas dazu.
@Gebs, Ringspeicher? Gibt es da auch einen SFC oder FC? Im Prinzip würde mir ja auch ein Bitschieberegister reichen (FC92 oder so) aber in meinem Falle geht das schief, da ich im Register bestimmte Bereiche abfragen möchte. Diese sind auch noch variabel und das würde diese Möglichkeit erheblich verkomplizieren.

Gruß
Mario
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
mal ein kurzes Feedback, mit einer 314er Vipa funktioniert das ganze auch perfekt, ich schiebe 1000 Variablen, die Zykluszeit ist noch nicht meßbar (WINPLC V4.53), also noch unter einer Millisekunde. Ist sogar ein wenig praktischer als nur Bitschieberei, mit der es auch gegangen wäre (ob mit solchen Zykluszeiten weiß ich nicht).

Gruß
Mario
 
Solange Siemens garantiert, daß der SFC20 in Richtung aufsteigender Adressen kopiert, wird der SFC20 auch mit überlappenden Bereichen funktionieren, wenn die Zieladresse nicht höher als die Quelladresse ist.
http://www.sps-forum.de/showthread.php?p=277542#post277542 und der 2. Beitrag davor (#16).

Auf einer CPU 315-2PN/DP der vorletzten Generation (315-2EH13) dürfte das Umkopieren von 1000 INT-Werten mit SFC20 knapp 1ms dauern. Die aktuellen CPU (-xxx14) sind sogar noch einiges schneller.
Benchmark

Harald
 
Zuletzt bearbeitet:
Zurück
Oben