Hallo zusammen, ich erhalte Daten von einer Windkraftanlage über RS232 (Controller ist ein Mita WP3000). Der Server sendet ein Paket und erhält darauf vom Controller eine Antwort mit den gewünschten Werten (z.B. Windgesch., Leistung, Rpm, Fehlercode). Die Daten die der Server sendet sind kein Problem zu erzeugen, allerdings habe ich echte Probleme Daten aus der Antwort zu bekommen. Ich habe jetzt experimentel ein Lookup-Array mit 255 Werten erstellt das ich nutzen kann um Wind und Leistung zu "berechnen". Im Anhang ist einmal mein Code für die Berechnung und ein Sheet das die Daten etwas aufschlüsselt. Vielleicht erkennt ja jemand den Algorithmus der nötig ist um die empfangenen Daten zu verarbeiten. Weil insbesondere beim Fehlercode komme ich kein Stück weiter und habe keine Lust 65000 Möglichkeiten auszuprobieren bis ich alle Codes habe.
Gast
#6810338
Hi, das PDF habe ich auch schon gefunden, allerdings bringt es mich nicht wirklich weiter. Der Quelltext der dabei ist beinhaltet keine Berechnungen. Ich bin mir nicht mal sicher ob Mita für Nordex Anlagen nicht ein anderes Protokoll verwendet, da laut PDF Daten vom Controller in verschiedenen Frequenzen automatisch kommen sollen. Ich erhalte aber erst Daten und auch nur einmalig wenn der Server welche anfordert.
Gast
#6810641
Zeig doch lieber mal ein Paket, welches ankommt. Was soll mit diese ODS Tabelle sagen?
Sorry, die Pakete sind auf der Seite "Data" im ODS. Ich probier mein Problem nochmal etwas verständlicher zu erklären. Hier erstmal das Paket aus dem ODS:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
41 | |
42 | |
43 | |
44 | |
45 | |
46 | |
47 | |
48 | |
49 | |
50 | |
51 | |
52 | |
53 | |
Wenn ich die Daten z.B. vom Wind haben möchte (also 0x28 und 0x8a) kann ich momentan die 0x8a über das Array dem Wert 42 zuordnen. Die 0x28 ist ein Multiplikator vom maximalen Wert (hier 255) wobei 0x28 aber Null entspricht. Beides addiert durch 10 ergibt die Geschwindigkeit in m/s (hier also 4,2m/s). Das gleiche gilt für die Leistung, nur das der Teiler hier 4 ist. Die Multiplikatoren verlaufen leider nicht aufsteigend sondern "springen". Durch ausprobieren habe ich jetzt alle bis *16 gefunden was für die Leistung von 1MW reicht und für den Wind sowieso. Ich habe eine XML Datei die die Fehlercodes beinhaltet, startend bei 0 bis 5100. Aber ich komme mit meinem jetzigen Wissen nicht von den empfangenen Daten auf den Fehlercode.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.