-> Hier kostenlos registrieren
Hallo zusammen.
Ich habe mich jetzt schon eine komplette Woche darüber belesen und steige nicht so recht durch.
Habe mir schon einige Möglichkeiten reingebaut und/oder selber dran versucht, es will einfach nicht klappen.
Ich arbeite an einer 319F.
Grundgedanke:
- 5 INT Werte (im UDT zu einem STRUCT zusammengefasst -10 Byte) als eine, sagen wir mal "Messung" abspeichern
- die Messungen sollen dann in einem FIFO gespeichert werden, der insgesamt 1000 Messergebnisse enthält .
Ich habe damit angefangen die einzelnen Messungen in Form von je 10 Byte auf einen Zwischenspeicher für 10 Messungen zu
laden, dann nach 10x10 Messungen diese dann in einen 100er Speicher ge-"Blockmoved".
Anschliessend, wenn 100 Messungen voll sind, diese dann per Blockmove (im 1000er Byte-Verbund) um 1000 Byte versetzt nach hinten abzuspeichern.
Hier machte mir die SPS einen Strich durch die Rechnung... Zu viele Move-Befehle... aber auch nach Abspecken des Programms gings nicht.
->Wieviele Bytes kann man eigentlich per "BLK_MOV"(SFC20) maximal verschieben?
->Ist es bei den bekannten FIFOs so, dass der neue Wert immer versetzt um einen Zählwert weiter hinten gespeichert wird?
->Gibt es eine Möglichkeit, dass der neue Wert z. Bsp. im DB auf dbx0.0 bis dbx4.7 gespeichert wird und bei positiver Flanke eines folgenden neuen Eintrages auf dbx5.0 bis dbx9.7 verschoben wird? Die Werte von dbx5.0 bis dbx9.7 dann auf dbx10.7 bis 14.7 usw. ?
-> Wenn alles nichts hilft, dann würde ich zum normalen FIFO greifen, jedoch steige ich da nicht ganz durch. Ich habe hier schon sehr schöne Bausteine gesehen, komme aber teilweise mit der Anparametrierung nicht klar. Könnte mir da evtl. jmd. zur Seite stehen?
Ich hoffe, das war jetzt nicht zu viel Input
Beste Grüsse Dennsen
Ich habe mich jetzt schon eine komplette Woche darüber belesen und steige nicht so recht durch.
Habe mir schon einige Möglichkeiten reingebaut und/oder selber dran versucht, es will einfach nicht klappen.
Ich arbeite an einer 319F.
Grundgedanke:
- 5 INT Werte (im UDT zu einem STRUCT zusammengefasst -10 Byte) als eine, sagen wir mal "Messung" abspeichern
- die Messungen sollen dann in einem FIFO gespeichert werden, der insgesamt 1000 Messergebnisse enthält .
Ich habe damit angefangen die einzelnen Messungen in Form von je 10 Byte auf einen Zwischenspeicher für 10 Messungen zu
laden, dann nach 10x10 Messungen diese dann in einen 100er Speicher ge-"Blockmoved".
Anschliessend, wenn 100 Messungen voll sind, diese dann per Blockmove (im 1000er Byte-Verbund) um 1000 Byte versetzt nach hinten abzuspeichern.
Hier machte mir die SPS einen Strich durch die Rechnung... Zu viele Move-Befehle... aber auch nach Abspecken des Programms gings nicht.
->Wieviele Bytes kann man eigentlich per "BLK_MOV"(SFC20) maximal verschieben?
->Ist es bei den bekannten FIFOs so, dass der neue Wert immer versetzt um einen Zählwert weiter hinten gespeichert wird?
->Gibt es eine Möglichkeit, dass der neue Wert z. Bsp. im DB auf dbx0.0 bis dbx4.7 gespeichert wird und bei positiver Flanke eines folgenden neuen Eintrages auf dbx5.0 bis dbx9.7 verschoben wird? Die Werte von dbx5.0 bis dbx9.7 dann auf dbx10.7 bis 14.7 usw. ?
-> Wenn alles nichts hilft, dann würde ich zum normalen FIFO greifen, jedoch steige ich da nicht ganz durch. Ich habe hier schon sehr schöne Bausteine gesehen, komme aber teilweise mit der Anparametrierung nicht klar. Könnte mir da evtl. jmd. zur Seite stehen?
Ich hoffe, das war jetzt nicht zu viel Input

Beste Grüsse Dennsen