- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 10 von 15

Thema: Systen zur verwaltung und kontrolle von Sensoren und Aktoren

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Fleißiges Mitglied Avatar von pointhi
    Registriert seit
    18.03.2009
    Alter
    30
    Beiträge
    139

    Frage

    Schade das sich sich dazu noch niemand geäußert hat.

    Ich hab ein Demodatei erstellt, die eine erste idee darstellt, wie man die Sensoren und systeme konfigurieren können soll. Vom XML-Schema hängt viel ab, wie allgemein so ein programm sein wird. Jedenfalls hab ich heute das erste mal ein LUA-Programm mit C++ Interpretiert, und bin davon überzeugt dass sich Skriptsprachen für die Sensorauswertung von komplexeren Protokollen eignet. Immerhin ist es nicht sehr dynamisch wenn man für jedes kleine Protokoll den Sourcecode erweitern und neu compilieren muss.

    Ich bin mir so gut wie sicher dass diese version von XML-Schema sicher noch ein paar große lücken aufweist. Besonders in der Art wie die Daten ausgelesen werden, und mit welchen Timing (z.b. muss ich in ein kompassmodul von mir zuerst 3 Befehle im 1ms takt schreiben, bevor ich davon lesen kann). Der Zugriff auf die Daten würde warscheinlich über std::set mit den Namen im XML-File geschehen. z.B. wie
    Code:
    double Altitude = Sensor["GPS_Altitude"].GetValue();
    Code:
    <?xml version="1.0"?>
    
    <bus-controller bussystem="i2c">
        <name>I2C</name>
        <device>/dev/i2c-1</device>
        <interrupt-pin>18</interrupt-pin>
        <clock>100kHz</clock>
        <enabled>yes</enabled>
    </bus-controller>
    
    <bus-controller bussystem="rs232">
        <name>COM0</name>
        <device>/dev/ttyAMA0</device>
        <baudrate>9600</baudrate>
        <parity-bit>no</parity-bit>
        <stop-bits>1</stop-bits>
        
    </bus-controller>
    
    <i2c-slave bus-controller="I2C">
        <name>PCF8574A</name>
        <adress>0x38</adress>
        <generate-interrupt>yes</generate-interrupt>
        <maxclock>100kHz</maxclock>
        
        <rw-instructions>
            <read bytes="1" position="0"/>
        </rw-instructions>
        
        <sensor datatype="boolean">
            <name>Sensor1</name>
            <data>0.0</data>    <!-- Byte 0, Bit 0-->
            <invert>yes</invert>
            <refresh-time>100ms</refresh-time>
        </sensor>
    </i2c-slave>
    
    <sensor i2c-slave="PCF8574A" datatype="boolean">
        <name>Sensor1</name>
        <data>
            <databit>0.1</databit>    <!-- Byte 0, Bit 1-->
        </data>
        <refresh-time>50Hz</refresh-time>
    </sensor>
    
    <rs232-slave bus-controller="COM0">
        <name>GPS_0</name>
        
        <rw-instructions>
            <read savetype="ringbuffer" bytes="100" startbyte="$" stopbyte="\r\n"/>
        </rw-instructions>
        
    </rs232-slave>
    
    <sensor rs232-slave="GPS_0" datatype="float">
        <name>GPS_Altitude</name>
        <data>
            <script language="lua" file="gps.lua" function="gps_height"/>
        </data>
    </sensor>
    
    <sensor rs232-slave="GPS_0" datatype="float">
        <name>GPS_Speed</name>
        <data>
            <script language="lua" file="gps.lua" function="gps_speed"/>
        </data>
    </sensor>
    Was sagt ihr dazu? Ich finde es ist sicher nicht die einfachste möglichkeit, aber es geht mir besonders auch um leistungsfähigkeit. Es soll später dann so sein, dass man einfach den sensor definiert, und er danach im Programm verwendet werden kann.

    mfg, pointhi
    Theorie ist, wenn man alles weiß, aber nichts funktioniert.
    Praxis ist, wenn alles funktioniert, aber niemand weiß warum.
    Microsoft hat Theorie und Praxis vereint: Nichts funktioniert und keiner weiß warum!
    Deshalb nutze ich Linux für die wichtigen sachen

    Meine Website: www.oe5tpo.com

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    11.08.2008
    Ort
    Hallein
    Alter
    34
    Beiträge
    802
    Die Idee ist cool, auch wenn es ziemlich umfangreich sein wird.

    Aber ein Punkt. Kein XML!!!!11elf. So viel Overhead und doch nicht wirklich lesbar. Wie wärs mit YAML? Ist ganz gemütlich und super lesbar was Konfiguration anbetrifft.
    Kultuverein Metal Resurrection, für mehr Bands und Konzerte in Österreich (:

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied Avatar von pointhi
    Registriert seit
    18.03.2009
    Alter
    30
    Beiträge
    139
    Ich hab noch mit ein paar Leuten deswegen geredet, und auch ich denke dass XML für den Anfang das beste ist. Auserdem wird die Bibliotek so gestaltet sein dass jeder eigene Auswertfunktionen hinzufügen kann.

    Ich hab heute ein System entwickelt, wie das Klassensystem für diese Aufgaben aufgebaut werden sein muss. Erste tests mit der XML und Lua Bibliotek waren auch erfolgreich. Das ganze wird standardmäßig als DLL compiliert werden und kann dann eigebunden werden. Unter Linux sollte es auch funktionieren, hab ich aber noch nicht getestet. Ein Compilieren direkt in den Quellcode oder als Statische Library sollte meines Wissens auch möglich sein.

    Wenn das Klassendesign feststeht und erste ergebnisse da sind werde ich das Projekt auf GitHub veröffentlichen.

    mfg, pointhi
    Theorie ist, wenn man alles weiß, aber nichts funktioniert.
    Praxis ist, wenn alles funktioniert, aber niemand weiß warum.
    Microsoft hat Theorie und Praxis vereint: Nichts funktioniert und keiner weiß warum!
    Deshalb nutze ich Linux für die wichtigen sachen

    Meine Website: www.oe5tpo.com

Ähnliche Themen

  1. Pfostenleiste zur Verbindung von Arduino-Buchsen und Servos
    Von bjoerng im Forum Suche bestimmtes Bauteil bzw. Empfehlung
    Antworten: 4
    Letzter Beitrag: 26.01.2011, 18:30
  2. Antworten: 1
    Letzter Beitrag: 04.03.2009, 13:44
  3. Tiny 2313, tipps und kontrolle gesucht
    Von Ineedhelp im Forum C - Programmierung (GCC u.a.)
    Antworten: 33
    Letzter Beitrag: 20.03.2008, 20:32
  4. GNU C-compiler, Atmega und Array kontrolle
    Von Arexx-Henk im Forum C - Programmierung (GCC u.a.)
    Antworten: 24
    Letzter Beitrag: 23.04.2006, 13:34
  5. Programm zur Simulation von boolschen und fließk. Datentypen
    Von izaseba im Forum Konstruktion/CAD/3D-Druck/Sketchup und Platinenlayout Eagle & Fritzing u.a.
    Antworten: 0
    Letzter Beitrag: 25.06.2005, 22:18

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test