Archiv verlassen und diese Seite im Standarddesign anzeigen : Logikbaustein
Hallo Leute,
ich hab da mal ne Frage zu den Logikbausteinen: In welcher Sprache sind die geschrieben?? Ich würde nämlich gerne wissen welche Befehle (round,abs,...) noch funktionieren.
Danke Stefan
Ich nehme mal an, daß du von Homeserver-Logikbausteinen sprichst.
Die sind in Python geschrieben.
Ja richtig, da hab ich wohl ein wichtiges Detail vergessen :eek: .
Ja die Logikbausteine des Homeservers.
Ich würde gerne einen Logikaustein selbst erstellen, der eine Kommazahl einfach aufrundet. Eventuell gibt es ja direkt den richtigen Befehl dazu wie ceil() in PHP.
Was verstehst du unter aufrunden?
Generell aufrunden,
nur den Ganzzahlanteil anzeigen
kaufmännisch runden
???
Die nächst höere Ganze Zahl.
Bsp.: 21.1 -> 22
Gibt´s.
ceil(x) Return the ceiling of x as a float.
Schreibt ihr die Logiksteine denn über eine gewisse Software von Python?
Ich hab mir den Programmaufbau schonmal angeschaut, in dem ich einfach die Datei, in der sich die Logikbausteine befinden, per Texteditor geöffnet hab.
sieht nicht soooooo schwer aus.... lieg ich da richtig?? hehe
Matthias Schmidt
15.03.07, 13:59
Es gibt keine Software - Handarbeit ist angesagt. Einfach die Doku laden, lesen, versuchen zu verstehen, Texteditor....
Nein, alles per Hand im handelsüblichen Texteditor. Eine "Doku" zur Erstellung von Logikbausteinen gibt´s auf Anforderung von Dacom (http://www.dacom-homeautomation.de/page.php?pageid=delogikentw).
ihr habt keinen guten Link um mehr Infos über python zu bekommen??
Danke für eure ANtworten, bin immer wieder erstaunt wie schnell man in diesem Forum eine Antwort bekommt.
Matthias Schmidt
15.03.07, 14:16
python.org, mehr braucht man nicht.
Hilfreich ist auch ein Python-Shell (IDLE) zum Testen.
Die meisten Probleme entstehen allerdings bei der Umsetzung in das Homeserver-Format. Hier muss man höllisch aufpassen.
Hey Michel,
die Funktion ceil() gibt es nicht bei Python, hab aber einen anderen Weg gefunden.
Es gibt die Funktion round() dh über 0.5 aufrunden, unter 0.5 abrunden.
---> round(EN[1]+0.5) und zack wird immer die höer stehende ganze Zahl ausgegeben.
Trotzdem Danke MFG Stefan
Hey Michel,
die Funktion ceil() gibt es nicht bei Python,Das sehe ich aber ganz anders: http://www.python.org/doc/2.4.4/lib/module-math.html
round(EN[1]+0.5) und zack wird immer die höer stehende ganze Zahl ausgegebenUnd was machst du, wenn EN[1]>x.5 ist? Dann kommt zumindest nicht das von dir gewünschte Ergebnis, sprich die nächst höhere Ganzzahl raus.
hmmmm komisch, wenn ich die Funtktion im PythonShell teste, krieg ich folgende Fehlermeldung:
>>> ceil(0.5)
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
ceil(0.5)
NameError: name 'ceil' is not defined
Hmm?? wahrscheinlich muss ich die Mathematischefunktionsbibliothek vorher noch aufrufen, wenn es soetwas gibt.
Ehm wenn EN1 grösser als 0.5 ist, dann rundet round ab und ich krieg den gewühnschten Wert.
BSP: EN1 = 23.3
23.3+0.5=23.8
round(23.8)=24 aufgerundet
EN1=23.9
23.9+0.5=24.4
round(24.4)=24 abgerundet
OK sorry war mein Fehler, hab die Funktion aus der Bibliothek importiert und Gut isssssssss, mal schauen ob das auf dem Homeserver auch so funzt
Hallo EIB'ler,
also einfache Logik Bausteine schreiben klappt echt super, nochmals danke für eure Hilfe.
Bin letztlich auf einen DatumsBaustein gestossen, der EI, EC, OC, AC, SN Variabeln benutzt, kann mir einer die Bedeutung davon sagen???
Dank Euch stefan
Matthias Schmidt
22.03.07, 16:33
Klar, aber besorg dir doch einfach bei Dacom die Entwickler-Doku!
Powered by vBulletin® Version 4.2.4 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.