Registrieren    Anmelden    Forum    Suche    FAQ

Foren-Übersicht » Alarm Modem Projektierung » TiXML




Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags:
 Beitrag Verfasst: Di Mär 02, 2010 2:02 pm 
Tixi-Support-Team

Registriert: Mo Jul 11, 2005 5:50 pm
Beiträge: 1351
Wohnort: Berlin
viper hat geschrieben:
Ich weiss nicht, ob ich mich klar ausgedrückt habe.
Ist es möglich das erfolgreiche Loggen abzufragen?
Die sonstige TixML Konfiguration funktioniert einwandfrei.
Ich habe folgendes im EventHandler testhalber eingetragen.
Die Abfrage OnOK brauchte aber kein Resultat. D.h. mein Event "EvLifeBit" wurde nie ausgelöst


- <Datalogging_0_Log Name="Logdaten">
<BinLog _="Datalogging_0" />
<OnOK _="EvLifeBit" />
</Datalogging_0_Log>
- <EvLifeBit hidden="1">
<Set _="/Process/Bus1/Device_0/Variable_34" value="1" ver="v" />
</EvLifeBit>


Viper


Nein, ein OnOK-Event funktioniert beim Logging nicht. OnOK wertet nur eine erfolgreiche Nachrichtenversendung aus.
Das erfolgreiche Loggen läßt sich nicht detektieren.
Nachdem das Logging erfolgt ist, wird der LogCounter der entsprechenden Datei, in diesem Fall Datalogging_0, um 1 erhöht. Unter Umständen läßt sich durch die Überwachung des entsprechenden LogCounters in einem EventState ein entsprechendes Event auslösen.
Dazu muß vor dem Logging der Counter auf 0 gesetzt werden. Ein entsprechender EventHandler würde etwa so aussehen:

<Datalogging_0_Log>
<Set _="/LogCounter/Datalogging_0" value="0"/>
<BinLog _="Datalogging_0" />
</Datalogging_0_Log>

Der EventState zur Überwachung so:

<ESLifeBit>
<Enabled _="TRUE"/>
<ProcessVar _="/LogCounter/Datalogging_0" flank="high"/>
<Event _="EvLifeBit"/>
</ESLifeBit>

Ein Überwachen unter Beibehaltung des aktuellen Wertes ist wesentlich aufwändiger.

_________________
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  
 Betreff des Beitrags:
 Beitrag Verfasst: Di Mär 02, 2010 11:50 am 
Neuling

Registriert: Mo Feb 16, 2009 9:52 am
Beiträge: 15
Ich weiss nicht, ob ich mich klar ausgedrückt habe.
Ist es möglich das erfolgreiche Loggen abzufragen?
Die sonstige TixML Konfiguration funktioniert einwandfrei.
Ich habe folgendes im EventHandler testhalber eingetragen.
Die Abfrage OnOK brauchte aber kein Resultat. D.h. mein Event "EvLifeBit" wurde nie ausgelöst


- <Datalogging_0_Log Name="Logdaten">
<BinLog _="Datalogging_0" />
<OnOK _="EvLifeBit" />
</Datalogging_0_Log>
- <EvLifeBit hidden="1">
<Set _="/Process/Bus1/Device_0/Variable_34" value="1" ver="v" />
</EvLifeBit>


Viper


Nach oben 
   
Mit Zitat antworten  
 Beitrag Verfasst: Do Feb 25, 2010 10:48 am 
Tixi-Support-Team

Registriert: Mo Jul 11, 2005 5:50 pm
Beiträge: 1351
Wohnort: Berlin
viper hat geschrieben:
Hallo Forum,

ich habe eine Frage zum Loggen. Ich möchte in meiner SPS alle wesentlichen Zustandsänderungen erfassen und habe daher ein FIFO programmiert, das diese Zustände als DWORD zyklusgenau dann abspeichert, wenn sich etwas ändert. Jetzt kann ich ja den FIFO nur mit der Pollrate des Alarmmodems leeren, was bei den insgesamt anfallenden Daten kein Problem sein dürfte, den Zeitversatz kann ich tolerieren, solange alle Daten ankommen.

Dazu sende ich, sobald etwas gespeichert ist, ein Bit an das Tixi mit der Aufforderung das DWORD mit Zeitstempel in den Logfile einzutragen.
Das geht auch.

Wenn ich mir jetzt die nachstehenden Ereignisse im EventLog anschaue, so liegen zwischen den Einträgen "EvLifeBit" und Datalogging_0_Log" mehrere Sekunden, obwohl sie beide durch das gleiche Event, hier der steigenden Flanke des "LogBits" ausgelöst werden. Die Zeitdifferenz schwankt zwischen 3 und etwa max. 10 Sekunden.

Damit das Schieberegister richrig geleert wird, müssste ich idealerweise das erfolgreiche Loggen als Ereignis auswerten und an die SPS zurückmelden, wozu das "EvLifeBit" gedacht war. Ursprünglich dachte ich, das bei einem Polling von 3 Sekunden das Loggen längst erledigt sein müsste. Deshalb wollte ich einfach beim nächsten Zugriff ein Erfolgsbit setzen, das der SPS mitteilt, dass es neue Daten liefern kann.

Jetzt frage ich mich, ob das ausreicht? Ideal wäre ein "OnOk" im Eventhandler-Log-Befehl, der aber so nicht vorgesehen ist. Gibt es eine andere Möglichkeit?

Ausschnitt EventLog

- <ID_4158 _="2010/02/23,22:28:57">
- <Event>
<Event _="EvLifeBit" Origin="EventState" />
</Event>
</ID_4158>
- <ID_4159 _="2010/02/23,22:29:04">
- <Event>
- <Event _="Datalogging_0_Log" Origin="EventState">
<VariableName _="LogBit" />
<Trigger _="Variable" />
</Event>
</Event>
</ID_4159>


Danke Viper

Bitte mal das Projekt (Verzeichnis mit Textdateien und Datei .tico gleichen Namens) anhängen bzw. mailen an tixi-support@tixi.com.

_________________
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: Mi Feb 24, 2010 10:30 am 
Neuling

Registriert: Mo Feb 16, 2009 9:52 am
Beiträge: 15
Hallo Forum,

ich habe eine Frage zum Loggen. Ich möchte in meiner SPS alle wesentlichen Zustandsänderungen erfassen und habe daher ein FIFO programmiert, das diese Zustände als DWORD zyklusgenau dann abspeichert, wenn sich etwas ändert. Jetzt kann ich ja den FIFO nur mit der Pollrate des Alarmmodems leeren, was bei den insgesamt anfallenden Daten kein Problem sein dürfte, den Zeitversatz kann ich tolerieren, solange alle Daten ankommen.

Dazu sende ich, sobald etwas gespeichert ist, ein Bit an das Tixi mit der Aufforderung das DWORD mit Zeitstempel in den Logfile einzutragen.
Das geht auch.

Wenn ich mir jetzt die nachstehenden Ereignisse im EventLog anschaue, so liegen zwischen den Einträgen "EvLifeBit" und Datalogging_0_Log" mehrere Sekunden, obwohl sie beide durch das gleiche Event, hier der steigenden Flanke des "LogBits" ausgelöst werden. Die Zeitdifferenz schwankt zwischen 3 und etwa max. 10 Sekunden.

Damit das Schieberegister richrig geleert wird, müssste ich idealerweise das erfolgreiche Loggen als Ereignis auswerten und an die SPS zurückmelden, wozu das "EvLifeBit" gedacht war. Ursprünglich dachte ich, das bei einem Polling von 3 Sekunden das Loggen längst erledigt sein müsste. Deshalb wollte ich einfach beim nächsten Zugriff ein Erfolgsbit setzen, das der SPS mitteilt, dass es neue Daten liefern kann.

Jetzt frage ich mich, ob das ausreicht? Ideal wäre ein "OnOk" im Eventhandler-Log-Befehl, der aber so nicht vorgesehen ist. Gibt es eine andere Möglichkeit?

Ausschnitt EventLog

- <ID_4158 _="2010/02/23,22:28:57">
- <Event>
<Event _="EvLifeBit" Origin="EventState" />
</Event>
</ID_4158>
- <ID_4159 _="2010/02/23,22:29:04">
- <Event>
- <Event _="Datalogging_0_Log" Origin="EventState">
<VariableName _="LogBit" />
<Trigger _="Variable" />
</Event>
</Event>
</ID_4159>


Danke Viper


Nach oben 
   
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
 
Ein neues Thema erstellen Auf das Thema antworten  [ 4 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