[TwinCat] 3. Task führt zu Problemen bei CX5140

naheliegend

Level-1
Beiträge
87
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich nehme Daten von meiner Klemme EL3632 mit MultiArrays auf. Mache dann direkt ein online MagnitudenSpectrum und schreibe die Ergebnisse mit dem FB_SINK in einen ARRAY.

Meine beiden Programme: DATENSAMMEL und CM laufen auf verschiedene TASK. Sie funktionieren einwandfrei.

Wenn ich jetzt ein dritten Programm (Bsp. WRITE_TO_CSV) auf einer 3. Task laufen lassen möchte, dann hört meine Klemme auf einmal auf Daten zu detektieren.
Also es werden nur noch 0en angezeigt. Der FB_MultiArray und der FB_MagnitudenSpectrum laufen einwandfrei, genauso, wie die 3. Task.

Es ist egal, was ich in der 3. Task laufen lasse. Habe einfach ein i hochzählen lassen. Das geht, aber es werden halt keine Daten an der Klemme angezeigt.

Beim Build, sowie beim aktivieren der Config kommen folgende Fehlermeldungen:

(EL3632): (0x8140) Synchronisierungsfehler
(EL3632): Event (33091), source ({28111931-0002-0000-5230-300E00001600}) not found!

0x8140

33088

Parameter

Invalid value for one or more of the dynamic parameters (A, D, J).


0x8143

33091

Communication

Function Block or respective Command is not supported by Target.




Kann jemand helfen? :)
 
Zuletzt bearbeitet:
So prinzipiell würde ich dir mal raten dich bzgl. Schulung umzuschauen. Dir fehlt ein bisschen Hintergrundwissen (persönliche Meinung, mag falsch sein).
Um mehr zu sagen müsste man einige relevante Informationen haben, so ist meine Glaskugel trüb.

Schau mal als erstes das deine dritte Task von der Prio deutlich niedriger liegt (Zahl ist höher) als die anderen beiden. Wahrscheinlich behebt das schon dein Problem.
Guga
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja, das ist komplett neu für mich. Sonst würde ich ja auch nicht so viele dumme Fragen stellen. In der Uni lernt man sowas leider nicht.


Ich habe die Prio schon richtig niedrig gesetzt und die Task-Zeit hoch. Die Fehler treten trotzdem auf.
 
Zuletzt bearbeitet:
Was versuchst Du da?
Es liest sich für mich so, als wenn Du von allen 3 Tasks auf die Klemmen zugreifen willst.
Hast Du die I/O-Verknüpfungen den jeweiligen Tasks zugeordnet? Sind notwendige taskübergreifende Vars global definiert?

Nicht das ich Dir wirklich helfen könnte, aber ein paar Screens wären jetzt bestimmt hilfreich um die Trübung der Glaskugel zu reduzieren.

Mal noch so eine Strukturfrage:
Das die Datensammelei schnell in einer eigenen Task (mit eigenem I/O-Zyklus) laufen sollte ist sinnvoll. Die Verarbeitung dahinter in mehrere Tasks aufzuteilen würde ich aber hinterfragen.
 
Zur Struktur:

Also ich greife nur mit dem Datensammel auf die KLemme zu. Geeignete Verknüpfungsvariablen habe ich global definiert. Also die 16 Werte / MS werden mit dem FB_SOURCE in MultiArrays gepackt, solange , bis 16.000 Werte in einem der MultiArrayPuffer ist. DIeser Puffer wird dann an den FB_MagnSpectr gesendet. Der FB_MagnSPectr läuft auch die ganze Zeit, aber auf einer anderen Task. Der FB_MagnSpectr sendet dann den MultiArrayPuffer wieder zurück an den FB_Source, wo der dann wieder vollgeschrieben wird.

Insgesamt gibt es 8 solcher Puffer, sodass der FB_SOURCE die ganze Zeit am vollpacken ist, und die FFT dann direkt berechent werden kann. Das ist quasi ein Kreislauf.

In den Kreislauf habe ich jetzt noch die FB_SINK eingebaut. Das heißt, dass der FB_SOURCE die Rohdaten an einen FB_SINK sendet, genauso wie es der FB_MagnSpectr. Sinn dahinter ist, die Rohdaten und MAgnSPectrWerte aufzufangen und in eine Datei zu schreiben.
FB_Sink sendet die MutliArrayPakete dann wieder zum FB_SOURCE.

Diese ganze Struktur wird von Beckhoff selbst zum Condition Monitoring vorgeschlagen.

Alles läuft, bis auf das schreiben der Daten in eine Datei. Versuche das mit dem FB_CSVMemBufferWrite.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe es geschafft. Ich kann jetzt jede x-Zeiteinheiten mein Magnituden Spektrum als CSV Datei speichern.

Problem bis dato war: Habe als Speicherpfad meinen Laptop genutzt :-D :-D :-D
 
Zurück
Oben