| User abgemeldet |
|
|
Benutzer
Mitglied seit:
Nachrichten:
|
Hallo, wie bekomme ich folgende Formel aus Excel in Eisbär umgerechnet. =C2+(D2-C2)*((C2-B2)/(C2-E2))^(1/F2) Gruß [ Geändert von ckimmig am 28.10.2013 15:32 ] |
|---|---|
| 28.10.2013 15:31 |
| Grimwulf |
|
|
Benutzer
Mitglied seit: 19.01.2016
Nachrichten: 6
|
Hallo, ich bin nicht sicher, ob ich Sie recht verstanden habe. Tendenziell geht das aber mit dem Multikonverter, Sie benötigen fünf Eingänge (ich habe hier sechs verwendet) und einen Ausgang. Im Code berechnen Sie Ihre Formel und haben das Ergebnis. Ich habe hier einen Code, der etwas unfein ist. Muss so in den Converter: try double returnVal = Math.Pow((d2 - c2)*((c2 - b2)/(c2 - e2)), (1/f2)) + c2; Hier setze ich voraus, dass alle Werte gesetzt sind und erst ein True auf den Calc-Eingang die Berechnung triggert. Ich denke aber, dass das hier Kern Ihrer Frage war:
double returnVal = Math.Pow((d2 - c2)*((c2 - b2)/(c2 - e2)), (1/f2)) + c2; In c# ist "Math.Pow" das Equivalent zum Excel "^", in c# selber hat "^" eine ganz andere Bedeutung - aber hat eine :-) [ Geändert von Grimwulf am 28.10.2013 19:59 ] |
|---|---|
| 28.10.2013 18:33 |
| User abgemeldet |
|
|
Benutzer
Mitglied seit:
Nachrichten:
|
Hallo, vielen Danke für die Antwort, ich habe schon länger nichts mehr mit der Software gemacht, und möchte jetzt anhand dieser Formel die Vorlauftemperatur für eine Mischersteuerung anhand der Aussentemperatur berechnen. Ich habe die Formel mal getestet und bekomme irgendwie ein anderes Ergebniss wie in Excel. Anbei mal die Exceltabelle. Vielleicht können Sie mir nochmals helfen. Anbei die Exceltabelle und ads Testprojekt. MfG |
|---|---|
| 31.10.2013 08:36 |
| Grimwulf |
|
|
Benutzer
Mitglied seit: 19.01.2016
Nachrichten: 6
|
Sie haben völlig recht, da war ich voreilig, entschuldigen Sie bitte. Ich hatte Testzahlen genommen, bei denen mein Ergebnis passte...waren wohl unkluge Zahlen. :-) So sollte es gehen: double returnVal = c2 + (d2 - c2)* Math.Pow((c2 - b2)/(c2 - e2), (1/f2)); |
|---|---|
| 31.10.2013 17:09 |
| User abgemeldet |
|
|
Benutzer
Mitglied seit:
Nachrichten:
|
Sorry, Passt immer noch nicht, aber trotzdem vielen Dank. Gruß |
|---|---|
| 01.11.2013 08:58 |
| Grimwulf |
|
|
Benutzer
Mitglied seit: 19.01.2016
Nachrichten: 6
|
Hallo, dieser Code in C# liefert genau das Ergebnis wie Excel, nämlich 31.25 mit Ihren Zahlen. Eine andere Zahlenreihe passte auch (bis auf Rundungsissues im hinteren NAchkommanbereich): Daher habe ich jetzt keinen Ansatz, einen Fehler zu suchen. Welche Zahlen nutzen Sie in Ihrem Test? Sind die Eingänge alle richtig zugewiesen? |
|---|---|
| 01.11.2013 09:44 |
| User abgemeldet |
|
|
Benutzer
Mitglied seit:
Nachrichten:
|
Hallo, Funktioniert, Danke, hab wohl beim Eingeben etwas falsch gemacht. Gruß |
|---|---|
| 06.11.2013 07:37 |
| User abgemeldet |
|
|
Benutzer
Mitglied seit:
Nachrichten:
|
Hallo Zusammen, Die Berechnung funktioniert, hab nun das Problem, das ich das Ergebniss nicht auf den Bus bekomm, bzw. Ich habe das Ergebniss einer 2Byte Gruppenadresse zugeordnet, die ändert sich aber nicht. |
|---|---|
| 30.11.2013 07:55 |
Visualisierung, Werkzeuge und Hardware für KNX, Modbus & Gebäudeautomation.
Alexander Maier GmbH · Beckstraße 3 · D-69412 Eberbach
+49 (0) 6271.919470 · info@busbaer.de