OlafKoch hat geschrieben:
1. Nicht hilfreiche bzw. falsche Fehlermeldung, wenn der EventHandler mit der If-Instruction nicht der letzte in der Liste ist.
Die Fehlermeldung kann ich bestätigen, allerdings ist der Zusammenhang m.E. ein anderer:
Die Position des Events ist egal, die Fehlermeldung kommt immer wenn ein EventHandler aufgerufen wird, dessen Bedingung erfüllt ist. Die Befehle werden aber dennoch ausgeführt.
Möchte man die Fehlermeldung unterdrücken (Workaround), kann man außerhalb der If-Anweisung einen Dummy-Befehl aufführen, z.B. ein "Set" auf eine "Müll"-Prozessvariable.
OlafKoch hat geschrieben:
2. Stehen mehrere If-Anweisungsblöcke in einem EventHandler hintereinander, wird nur der erste Anweisungsblock einer zutreffenden Bedingung ausgeführt. Folgen weitere If-Anweisungsblöcke mit ebenfalls zutreffender Bedingung, werden sie nicht ausgeführt.
Kann ich nicht bestätigen. Evtl. trat bei der Email ein anderer Fehler auf ?
Funktionierendes Beispiel:
[<SetConfig _="EVENTS" ver="y">
<EventHandler>
<SetAktZeit>
<If _="/Process/MB/IO/I/P0">
<Set _="/Process/MB/IO/Q/P0" value="0"/>
</If>
<If _="/Process/MB/IO/I/P0">
<Set _="/Process/MB/IO/Q/P1" value="0"/>
</If>
<If _="/Process/MB/IO/I/P0">
<Set _="/Process/MB/IO/Q/P2" value="0"/>
</If>
</SetAktZeit>
</EventHandler>
</SetConfig>]
Es werden alle drei Ausgänge korrekt gesetzt.
OlafKoch hat geschrieben:
Außerdem ist es mir nicht gelungen das höchstwertige Bit eins 32-Bit-Wertes mit MSK abzufragen. Mit 8-Bit-Werten geht es, 16-Bit habe ich nicht getestet.
Auch daß kann ich nicht bestätigen. Evtl. war die Bitmaske nicht korrekt ?
Funktionierendes Beispiel:
[<SetConfig _="PROCCFG" ver="y">
<ProcessVars>
<Test>
<Value>
<MSK v1="/Process/PV/DWORD" v2="2147483648"/>
</Value>
</Test>
<DWORD def="4294967295"/>
</ProcessVars>
</SetConfig>]
OlafKoch hat geschrieben:
Wer kann mir möglichst schnell helfen?
Hoffe das war schnell genug...
_________________
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