Registrieren    Anmelden    Forum    Suche    FAQ

Foren-Übersicht » Alarm Modem Projektierung » TiXML




Ein neues Thema erstellen Auf das Thema antworten  [ 2 Beiträge ] 
Autor Nachricht
 Beitrag Verfasst: Do Mai 07, 2009 10:56 am 
Tixi-Support-Team

Registriert: Mo Jul 11, 2005 5:50 pm
Beiträge: 1351
Wohnort: Berlin
Ghandy hat geschrieben:
Das Ganze stand dann mehrmals untereinander wegen der Anzahl der auftretenden Meldungen. Dies sind nunmehr 32 was das Lesen des Logfiles etwas unübersichtlich macht.
(zu viele NA zwischen den einzelnen Meldungen)

Geben Sie die Logdaten als XML oder als CSV aus?
Vielleicht wird es übersichtlicher, wenn man die NAs nicht mit ausgibt?
Oder wie wäre es, wenn z.B. nur Fehleränderungen geloggt würden, und nicht jedesmal alle 32 Zustände?

Ghandy hat geschrieben:
Also dachte ich mir man muss es doch irgendwie optimieren können.
Immerhin lese ich nun das Merker-Doppelwort komplett aus und verarbeite es in der Tixi. Damit bekomme ich zumindest hin, dass die "gesetzten Bits" Im Logfile nacheinander aufgereiht werden.

Mhm, ist das denn wirklich das, was Sie am Ende sehen wollen?
Geben Sie uns doch mal ein exaktes Beispiel, wie die Daten ausgegeben werden sollen. Dann können wir vielleicht einen Tip zur Optimalen Lösung geben.

Ghandy hat geschrieben:
eine Formatierung an dieser Stelle formatiert mir nur den Wert bei
Get Aufrufen, schreibt aber trotzdem nur einen unformatierten INT
Wert ins Logfile

Richtig, die Formatierung der einzelnen Systemkomponenten (External, PVs, Logging, Webserver) arbeitet unabhängig voneinander.
Wenn Sie PVs formatiert loggen wollen, müssen Sie dioe Formatierung im Logging eintragen.

Ghandy hat geschrieben:
PS: mask="0xFFFFFFFF" funktioniert übrigens nicht

Müsste ab FW 3.0.6.72 funktionieren.
Was haben Sie denn überhaupt für ein Gerät und Firmware?

Ghandy hat geschrieben:
Klar könnte ich mit:
Code:
<Txt1 _="int" size="1" path="/Process/PV/Err1" format="*0:BlaErr1*1:BlaErr2**:BLA"/>

ein bisschen was reißen, nur habe ich festgestellt, bei 80 Zeichen im Format-String ist Schluss...

Richtig, das ist der maximale Puffer für den Formatstring.

Ghandy hat geschrieben:
Andererseits war es mir nicht möglich dir Formatierung nach irgendwo auszulagern, nach dem Schema
Code:
 format="&#xae;....."


Doch, das geht. Aber die 80 Zeichen können Sie damit auch nicht umgehen :wink:

Ghandy hat geschrieben:
PS: Die Möglichkeit Strings direkt ins Logfile zu schreiben möchte ich gern ausschließen da ja jedes Char so ein Byte groß ist und dies meine Logfiles bestimmt nur unnötig aufblähen würde.

Naja, die Ausgabe dürfte mehr oder weniger identisch sein. Die Frage ist halt, wie lang der Speicher im Modem die Daten vorhalten können soll...

_________________
Tixi Support Team

E-Mail-Support, Mo-Fr, 9:00 - 17:00: Tixi-Support@tixi.com
techn. Hotline, Mo-Fr, 9:00 - 12:00 und 13:00 - 17:00: 0900-100 90 11 für 2€/min


Nach oben 
   
Mit Zitat antworten  
 Beitrag Verfasst: Di Mai 05, 2009 3:37 pm 
Neuling

Registriert: Mo Aug 08, 2005 12:59 pm
Beiträge: 10
Wohnort: 14797 Damsdorf
Hallo,

Ich bin gerade dabei ein altes Tixi Programm umzuschreiben um die Logfiles etwas lesbarer zu machen.
Bisher habe ich dies wie folgt gehandhabt:
Merker auslesen, loggen und formatiert ins Logfile schreiben in der Art:
Code:
<Txt1 _="int" size="1" value="&#xae;/Process/Bus1/Device_0/M65;" format="?ERR_emergency stop,NA; "/>


Das Ganze stand dann mehrmals untereinander wegen der Anzahl der auftretenden Meldungen. Dies sind nunmehr 32 was das Lesen des Logfiles etwas unübersichtlich macht.
(zu viele NA zwischen den einzelnen Meldungen)

Also dachte ich mir man muss es doch irgendwie optimieren können.
Immerhin lese ich nun das Merker-Doppelwort komplett aus und verarbeite es in der Tixi. Damit bekomme ich zumindest hin, dass die "gesetzten Bits" Im Logfile nacheinander aufgereiht werden.
Und zwar nach folgendem Schema:

Code:
<ProcessVars>

<Err1>
  <!-- eine Formatierung an dieser Stelle formatiert mir nur den Wert bei
         Get Aufrufen, schreibt aber trotzdem nur einen unformatierten INT
         Wert ins Logfile -->
 <Value>
  <LD _="/Process/Bus1/Device_0/Texte"/>
  <FIND_BIT_ADDRESS _="1" range="1" mask="4294967295"/>
  <!-- PS: mask="0xFFFFFFFF" funktioniert übrigens nicht -->
 </Value>
</Err1>

<Err2>
 <Value>
  <LD _="/Process/Bus1/Device_0/Texte"/>
  <FIND_BIT_ADDRESS _="2" range="1" mask="4294967295"/>
 </Value>
</Err2>
...
bis Err32

<LogDefinition>
 <Records>
  <FullLog>
  <Txt1 _="int" size="1" path="/Process/PV/Err1"/>
  <Txt2 _="int" size="1" path="/Process/PV/Err2"/>
....
bis Txt32


Ich wünschte ehrlich könnte dies mit einer For Schleife, Arrays oder C-Syntax etwas einkürzen. Nun habe ich zwar schön INT-Werte in meinem Logfile aber mit der Textformatierung komme ich nicht wirklich klar.

Klar könnte ich mit:

Code:
<Txt1 _="int" size="1" path="/Process/PV/Err1" format="*0:BlaErr1*1:BlaErr2**:BLA"/>


ein bisschen was reißen, nur habe ich festgestellt, bei 80 Zeichen im Format-String ist Schluss...
Andererseits war es mir nicht möglich dir Formatierung nach irgendwo auszulagern, nach dem Schema
Code:
 format="&#xae;....."
, um dann evt mit IF's das Ganze abzuarbeiten.

Sicherlich gibt es auch hier eine intelligentere Lösung, ich bin aber trotzdem für jede Lösung die zur Ergreifung des Täters führt dankbar...
Vielleicht komm ich ja noch selbst darauf wenn ich heut Abend noch mal darüber nachdenke...

PS: Die Möglichkeit Strings direkt ins Logfile zu schreiben möchte ich gern ausschließen da ja jedes Char so ein Byte groß ist und dies meine Logfiles bestimmt nur unnötig aufblähen würde.

Vielen Dank .......


Nach oben 
   
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
 
Ein neues Thema erstellen Auf das Thema antworten  [ 2 Beiträge ] 

Foren-Übersicht » Alarm Modem Projektierung » TiXML


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 10 Gäste

 
 

 
Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
Deutsche Übersetzung durch phpBB.de