04.09.2008 22:49 | |
Beigetreten: 05.01.2007 Letzter Bes: 07.04.2023 Beiträge: 1690 Bewertung: (580)
|
Hallo, also einen PC oder ein Notebook ständig oder zeitweise (längerfristig) neben die LOGO! (oder gar mehrere) zu hängen widerstrebt auch mir. Nett wäre es, wenn mal jemand eine Anwendung für einen PDA schreiben würde, denn viele haben, wie mein FSC LOOX, eine RS-232 Schnittstelle! ??? MfG Betel |
==> Meine TAG-Listen: "deut." |
|
06.09.2008 15:21 | |
Beiträge: 37 Bewertung: (8) |
Hallo, ich habe vom Forum Member Tristan eine abgeänderte Version meines Datenlogger in der Programmiersprache Python bekommen. Man kann jetzt durch klicken auswählen, welche Parameter in der Log-Datei gespeichert werden und man bekommt angezeigt, welche Pins gerade wie beschaltet sind. Außerdem werden die Einstellungen in einer XML Datei gespeichert, in der man auch Aliase für die Pins vergeben kann, die dann so angezeigt werden. Ich habe den Logger auf meinem Linux Rechner unter Python 2.5 getestet. Hier funktionert er einwandfrei. Dieser Logger müsste auch auf einem PDA funktionieren, da meines Wissens nach die Programmiersprache Python auch auf einem PDA funktioniert. Von hier aus noch mal vielen Dank von mir an Tristan. MfG Achim DateianhangDatenlogger.py.zip (460 Downloads) |
Für diesen Beitrag bedanken sich1 Benutzer |
08.09.2008 13:46 | |
Beiträge: 2 Bewertung: (0) |
habe jetzt noch mal eine dumme Frage zurDatei, die du mir geschickt hast.... die muss ichdoch sicherlichmit dem entsprechenden Compiler compilieren, oder? |
09.09.2008 21:35 | |
Beigetreten: 05.01.2007 Letzter Bes: 07.04.2023 Beiträge: 1690 Bewertung: (580)
|
Hallo ask, vielen Dank für deinen Hinweis "Ich habe den Logger auf meinem Linux Rechner unter Python 2.5 getestet. Hier funktionert er einwandfrei. Dieser Logger müsste auch auf einem PDA funktionieren, da meines Wissens nach die Programmiersprache Python auch auf einem PDA funktioniert." Nachdem ich auch die Python Version 2.5 für PDA in Internet ausfindig gemacht hatte, habe ich mich ans Testen gemacht - aber leider gibt es keine für das PDA Betriebssystem MN5 zugeschnittene Version des "pyserial"-Moduls um die RS232-Schnittstellen-Routinen einzubinden (und auch "Tkinter" meldet einen Syntaxerror..."). Inzwischen habe ich andererseits eine, wie mir scheint, rel. "mächtige" und frei verfügbare Skriptsprache "MortScript"für PDAs entdeckt, die ich bei Gelegenheit mal näher betrachten werde. Link für Interessierte http://www.sto-helit.de/index.php?module=page&entry=ms_overview&action=view&menu=25 MfG Betel |
==> Meine TAG-Listen: "deut." |
|
10.09.2008 21:28 | |
Beigetreten: 05.01.2007 Letzter Bes: 07.04.2023 Beiträge: 1690 Bewertung: (580)
|
Hallo ask, diese Skriptsprache ist sogar auch fü PC geeignet.... Nach Durchsicht deines veröffentlichten Python-Programms möchte ich dich auf folgendes hinweisen: Die Analogeingänge können ja nur Werte von 0 bis 1000 (dezimal) also 03 E8 hex annehmen und somit werden auch nur diese Werte per RS232-Protokoll übertragen - und die von dir programmierte "Übersetzung" von hex nach dezimal ist korrekt. Aber die 6 Analogmerker können den gesamten Wertebereich von -32768...0...32767 annehmen, wobei auch dieser Zahlenbereich durch 2 Byte hex übertragen wird. Dementsprechend mußt du aber deine "Umrechnung" modifizieren, denn nur hex-Werte von 00 00 bis 7F FF ergeben positive integer Zahlenwerte (0 bis 32767 dezimal). Hex-Werte von FF FF bis 80 00 bilden den Bereich negativer Zahlen von -1 bis -32768 ab! Du mußt also entweder Bit 7 des höherwertigen Bytes auswerten (= 1 für negativer Wert) ODER du subtrahierst den Wert (256 * 256 = 65536) von dem Wert den du mit deiner Formel berechnest, wenn dieser Wert größer ist als 32767. In den Fällen, in denen mit hoher Frequenz und oder über sehr lange Zeiträume die Daten aufgezeichnet werden sollen halte ich eine möglichst effiziente Datenaufzeichnung für wesentlich. Dazu folgende 2 Vorschläge: 1. Man schreibt die von der LOGO! übertragenen Byte-Werte zusammen mit einem Zeitstempel in eine Datei und die Auswertung bzw. "Übersetzung" erfolgt erst nachträglich mit einem separaten Programm nach dem die LOGdatei "geschlossen" ist und man ohnehin erst an die Auswertung geht (Eine "Minimalauswertung zur Sofort-Anzeige" ohne deren Speicherung bleibt davon natürlich unberührt)...Die ermöglicht außerden auch die höchste Aktualisierungsrate der LOGDaten... 2. Man schreibt nur dann einen Datensatz in die LOGDatei, wenn es Änderungen von Daten gibt(insbesondere ausgewählter Daten, z. B. der Eingänge). Dies ist m. E. auch günstiger als die Definition eines festen Zeitintervalles für die Datenaufzeichnung, wobei natürlich dennoch ein Zeitraster zusätzlich realisiert werden kann. MfG Betel |
Zuletzt bearbeitet von: Betel am: 10.09.2008 21:33==> Meine TAG-Listen: "deut." |
|
13.09.2008 16:20 | |
Beigetreten: 05.01.2007 Letzter Bes: 07.04.2023 Beiträge: 1690 Bewertung: (580)
|
Hallo ask, die Analogausgänge solltest du übrigens ebensalls bezüglich des gesamten Wertebereiches auswerten, denn auch diese können den gesamten Wertebereich übertragen. Ausschließlich dann, wenn ein AQ2-Modul angeschlossen ist, dürfen diese Analogausgänge nur Werte von 0 bis 1000 annehmen 8und folglich auch nur bei Abfrage übertragen). Weil aber mit der von dir gewählte Auswertung der "einfachen" LOGO!-Statusabfrage ja häufig zu loggende Analogwerte über die Schaltung extra AM1 bis AM6 und eben ggf. AQ1 und AQ2 zugewiesen werden, ist eine vollständige Auswertung nützlich und führt zu keinen Fehlern!!! MfG Betel |
==> Meine TAG-Listen: "deut." |
|
Folgen Sie uns auf