+ Antworten
Ergebnis 1 bis 4 von 4
  1. #1
    Registriert seit
    Nov 2005
    Ort
    Luxemburg
    Beiträge
    2,733

    Standard Message Log Fenster mit IPS Designer

    Hallo,

    hier ist ein kleines script das ich geschrieben habe was eigentlich ganz nett für diejenigen sein kann, die gerne so ein Message-Log Fenster mit einbinden möchten in IPS Designer:

    PHP-Code:
    $new_entry GetValueString("LAST_MESSAGE");
    $message_to_add Date("d.m.Y")." ".Date("H:i:s")."h  >".chr(9).$new_entry."\r\n";
    $actual_message GetValueString("HMI_MSG_MEMO");

    // check if Message Buffer reach already 15
    $msg_chunk explode("\r\n"$actual_message);
    $amount_msg count($msg_chunk);

    // When 15 Messages already, delete the 1st to make space for new message
    if ($amount_msg == 15)
        {
         unset (
    $msg_chunk[0]);
         
    $actual_message array_merge($msg_chunk);
         
    $actual_message implode("\r\n"$actual_message);
        }

    // Add new message
    $new_message $actual_message.$message_to_add;
    SetValueString("HMI_MSG_MEMO"$new_message);

    // Add new message to Log-file
    $filename date("Y")."-".date("W")."-"."MSG.log";

    $handle=fopen("C:/Program Files/IP-SYMCON/My Logs/" .$filename."""a");
    fwrite($handle$message_to_add);
    fclose($handle); 
    Zwei Globale Variablen:
    1. "LAST_MESSAGE" (String)
    2. "HMI_MSG_MEMO" (String)

    in die erste Variable schreibt man einfach an irgendeiner stelle des Projektes mit IPS_SetString("LAST_MESSAGE", "Text") einen Text hinein.
    Dieses obige Script hat als Triggerevent die Variable "LAST_MESSAGE", und in der zweiten Variable werden dann die Meldungen "angehangen" bis die gewünschte Anzahl erreicht wurde (in meinem Fall 15). Kommt nun eine neue Meldung hinzu, wird die 1. meldung rausgeschnitten, und die letzte (aktuellste) einfach hintendran gehangen. Somit behält man das String immer gleich lang.
    Um zu vermeiden, dass Meldungen verloren gehen, ist der letzte Teil des Scriptes dafür zuständig, jedesmal die letzte Meldung in ein Log-File zu schreiben.

    Viel Spass damit

    mfG Franz



    11x HMS TF - 1x HMS T - 3x FHZ WLAN - 11x FHT80+TF - 4x FS20RST EcoRoll - 1x FS20SIG - 1x Comfort Comfort-Programmiergerät CRSZ-00/01 - 1x USB PC-Schnittstelle CKOZ-00/03 - 3x Dimmer CDAU-01/02 - 7x BIN 230VAC Eingang CBEU-02/01 - 6x Schaltaktor CSAU-01/01 - 1x Analog-Aktor 1-10V CAAE-01/02 - 5x Wandsender CTAA-02/02

  2. #2
    Registriert seit
    Nov 2005
    Beiträge
    687

    Standard message

    hallo franz,

    habe mal versucht dieses script einzubauen. aber irgentwie klappt was nicht.
    das datum und uhrzeit wird im memo feld angezeigt aber einen text dahinter erscheint nicht.
    habe die beiden variablen
    "LAST_MESSAGE" (String)
    "HMI_MSG_MEMO" (String) eingefügt.
    was ich nicht ganz verstanden habe
    in die erste Variable schreibt man einfach an irgendeiner stelle des Projektes mit IPS_SetString("LAST_MESSAGE", "Text") einen Text hinein.
    kannst mir das noch mal erklären.

    mfg uwe

  3. #3
    Registriert seit
    Nov 2005
    Ort
    Luxemburg
    Beiträge
    2,733

    Hallo,

    so muss es lauten:

    SetValueString("LAST_MESSAGE", "Hallo");

    Ja genau. Das kann an x-irgendeiner Stelle sein. Jedoch, das Script, das die Generierung der HMI_MSG_MEMO Variable beinhaltet muss als Trigger Event die Variable "LAST_MESSAGE" haben, so wird ja nicht nach jeder neuen Meldung geupdated !

    mfG Franz
    Geändert von guyabano (07.01.06 um 13:11 Uhr)



    11x HMS TF - 1x HMS T - 3x FHZ WLAN - 11x FHT80+TF - 4x FS20RST EcoRoll - 1x FS20SIG - 1x Comfort Comfort-Programmiergerät CRSZ-00/01 - 1x USB PC-Schnittstelle CKOZ-00/03 - 3x Dimmer CDAU-01/02 - 7x BIN 230VAC Eingang CBEU-02/01 - 6x Schaltaktor CSAU-01/01 - 1x Analog-Aktor 1-10V CAAE-01/02 - 5x Wandsender CTAA-02/02

  4. #4
    Registriert seit
    Nov 2005
    Beiträge
    687

    Standard message

    habe jetzt diesen eintrag
    03.01.2006 18:29:12h > Text
    03.01.2006 18:29:12h > Text
    03.01.2006 18:29:12h > Text
    03.01.2006 18:29:12h > Text
    03.01.2006 18:29:12h > Text
    03.01.2006 18:29:12h > Text
    03.01.2006 18:29:12h > Text
    03.01.2006 18:29:12h > Text
    03.01.2006 18:29:12h > Text
    07.01.2006 14:09:08h > Text
    07.01.2006 14:09:54h > Hallo
    07.01.2006 14:19:01h > Hallo

    das script wird durch LAST_MESSAGE getriggert

    hier das script

    $new_entry = GetValueString("LAST_MESSAGE");
    $message_to_add = Date("d.m.Y")." ".Date("H:i:s")."h >".chr(9).$new_entry."\r\n";
    $actual_message = GetValueString("HMI_MSG_MEMO");

    // check if Message Buffer reach already 15
    $msg_chunk = explode("\r\n", $actual_message);
    $amount_msg = count($msg_chunk);

    // When 15 Messages already, delete the 1st to make space for new message
    if ($amount_msg == 15)
    {
    unset ($msg_chunk[0]);
    $actual_message = array_merge($msg_chunk);
    $actual_message = implode("\r\n", $actual_message);
    }

    // Add new message
    $new_message = $actual_message.$message_to_add;
    SetValueString("HMI_MSG_MEMO", $new_message);

    // Add new message to Log-file
    $filename = date("Y")."-".date("W")."-"."MSG.log";

    $handle=fopen("C:/Programme/IP-SYMCON/Logs/" .$filename."", "a");
    fwrite($handle, $message_to_add);
    fclose($handle);


    mfg uwe

Ähnliche Themen

  1. Designer starten
    Von Rolf im Forum Dashboard
    Antworten: 9
    Letzter Beitrag: 16.01.06, 21:43
  2. Fragen zum Designer
    Von hbraun im Forum Allgemeine Diskussion
    Antworten: 11
    Letzter Beitrag: 01.09.05, 21:30
  3. Praxis – Designer III
    Von steiner im Forum Anleitungen / Nützliche PHP Skripte
    Antworten: 1
    Letzter Beitrag: 08.06.05, 21:26