PicoC Programm funktioniert nicht

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Erittru
    Azubi
    • In den letzten 4 Wochen
    • 3

    #1

    PicoC Programm funktioniert nicht

    Hallo Leute,

    Bin gerade dabei mich in PicoC einzuarbeiten um ein kurzes Listing zu schreiben.
    Nur leider will es nicht so, wie ich ;-)

    Ziel:
    Es sollen 4 Eingänge verglichen werden und danach der grösste Wert ausgegeben werden.
    Hier mal mein Code:
    PHP-Code:
    float val1;
    float val2;
    float val3;
    float val4;
    float maxVal;
    
    void main() {
        // Einlesen der Eingangsvariablen
        val1 = getinput(0);
        val2 = getinput(1);
        val3 = getinput(2);
        val4 = getinput(3);
        
        // Bestimmen des größten Wertes
        maxVal = val1;
        if (val2 >= maxVal) {maxVal = val2;}
        if (val3 >= maxVal) {maxVal = val3;}
        if (val4 >= maxVal) {maxVal = val4;}
        
        // Setzen des Ausgangswertes
        setoutput(0, maxVal);
    } 
    
    Und auch noch der Aufruf des Programmes:
    Klicke auf die Grafik für eine vergrößerte Ansicht

Name: grafik.png
Ansichten: 120
Größe: 19,4 KB
ID: 456825

    Hat jemand eine Idee, wo der Wurm drinnensteckt?
  • BBenda
    Smart Home'r
    • 06.01.2023
    • 57

    #2
    Guten Morgen,

    ein paar Anmerkungen zu deinem Vorhaben:
    • der Standardbaustein MinMax hat genau diese Funktion --> du brauchst dafür nicht den Programmbaustein
    • Der Programmbaustein spricht leider nur Pico C, kein PHP
    • ersetze void main () durch while (true), dann läuft das Skript danach durch

    Kommentar

    • Erittru
      Azubi
      • In den letzten 4 Wochen
      • 3

      #3
      Zitat von BBenda
      Guten Morgen,

      ein paar Anmerkungen zu deinem Vorhaben:
      • der Standardbaustein MinMax hat genau diese Funktion --> du brauchst dafür nicht den Programmbaustein
      • Der Programmbaustein spricht leider nur Pico C, kein PHP
      • ersetze void main () durch while (true), dann läuft das Skript danach durch
      Naja. Es wird ja noc heiniges an Eingängen und Logik ergänzt ;-)
      Konnte Leider kein "PicoC" Formatierung finden.

      while (true) -> Und es geht. Danke nochmals :-)

      Kommentar

      • Jan W.
        Lox Guru
        • 30.08.2015
        • 1394

        #4
        Es gibt eine Anleitung von Loxone zu den unterstützten Funktionen: https://www.loxone.com/dede/wp-conte...rogramming.pdf

        Am Ende findest Du 3 Beispiele. Pico-C ist von der Syntax sehr eng an C angelehnt, hat aber nicht den vollen Funktionsumfang.

        Konkrete Tipps: Du solltest auf jeden Fall noch ein Sleep in Deine While-Schleife einbauen, um die CPU Zeit für das Skipt zu reduzieren. Mit "getinputevent" kannst Du weitere Zeit sparen, d.h. nur bei Änderung von Inputs wird Dein Skript aktiv - sofern dies bei Deinem Skript sinnvoll ist.
        Miniserver v14.5.12.7, 2x Ext., 2x Relay Ext., 2x Dimmer Ext., DMX Ext., 1-Wire Ext., Gira KNX Tastsensor 3 Komfort, Gira KNX Präsenzmelder, Fenster- und Türkontakte, Loxone Regen- und Windsensor, Gira Dual Q Rauchmelder vernetzt, 1x Relais-Modul
        Loxberry: SmartMeter, MS Backup, CamConnect, Weather4Lox
        Lüftung: Helios KWL EC 370W ET mit Modbus TCP - via Pico-C
        Heizung: Stiebel Eltron WPF 5 cool (Sole-Wasser WP) mit ISG, FB-Heizung mit 18 Kreisen, Erdsonde - via modbus/TCP
        Node-RED: IKEA Tradfri

        Kommentar

        Lädt...