Tincat2 fbFile... Zykluszeit (Echtzeitverletztung)

HammerSchmid

Level-1
Beiträge
12
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich arbeite zur zeit an einem Linearmotor bei dem ich die Werte einer Messfahrt abspeichern will (vorerst als .txt.)
Ich dachte mir da ich die SPS Zykluszeit ja einstelle wird auch in dieser Zeit immer abgespeichert. Das ist ja nicht so wie ich nun mitbekommen habe...

Nun was ich eigentlich tun will ist...
..beim gleichmäßigen verfahren meiner Achse auslesen können wie weit sie gefahren ist in einem Zyklus (der SPS oder auch in einem Zyklus der fbFile write.open.close falls diese eine feste Zykluszeit haben).

Also war mein Gedanke ich nehm einfach den Absolutwegwert vom vorherigen Zyklus und zieh ihn vom neuen ab um auf den weg zu kommen den er abgefahren hat.

Allerdings geht das nicht so fein wie ich mir das vorgestellt habe.

Nun ist die Frage geht das irgendwie über ein Buffer Array das ich mehrere Wert abspeicher und dann geordnet wieder in die fbwirte übergebe ?

Oder gibt es für Messauswertungen ein Standart Programm oder ähnliches ?

vieln danke für eure Hilfe
mfg HAmmerSchmid
 
Hallo,

woran hast du denn gemerkt, das du nicht feststellen kannst, wie weit dein Motor in einem Zyklus gefahren ist ?

Hast du eine Fehlermeldung bekommen oder hast du unmögliche Werte ?

Die letzte Frage, richtet sich nach der Antwort der ersten. Wie hast du es programmiert ?

Gruß, Voxe

PS: Mir fällt gerade ein, es gab hier ein Thema, wo die Lösung dahin ging, erstmal Werte sammeln und diese dann gemeinsam zu schreiben. Also nicht jeden einzeln oder nur wenige.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Echtzeitverletzung?

Hallo,
verstehe ich jetzt auch nicht, deine Aussage mit der Zykluszeit! Wenn Du ne zyklische Task angelegt hast und diese auch deinen Geber auswertet, dann sollte das ziemlich genau passen.
Die Kombination der fbfile... open/write/close kann sich schon über einige Zyklen hinziehen, daher würde ich mit einem Buffer-Array arbeiten. Soll heißen zum Bsp. ARRAY [0..99] OF "MeineDaten" über einen Index counter beschreiben. Dieser wird jeden Zyklus um 1 erhöht und bei 99 gehst du zurück auf 0. Ist dieser counter bei 49 würde ich die Daten aus den Feldern 0-49 zum Schreiben beauftragen, und dann wieder bei 99 (Datenfelder 50-99).

Vielleicht, reicht das ja erstmal...
Ich empfehle dir auch mal die "Suchen"-Funktion, da gibt es sicherlich schon mehrere Diskussionen zu diesem Thema!
 
Zurück
Oben