Registrieren    Anmelden    Forum    Suche    FAQ

Foren-Übersicht » Alarm Modem Projektierung » TiXML




Ein neues Thema erstellen Auf das Thema antworten  [ 39 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3  Nächste
Autor Nachricht
 Betreff des Beitrags:
 Beitrag Verfasst: Fr Jun 01, 2007 11:42 am 
Alter Hase

Registriert: Mi Apr 11, 2007 12:21 pm
Beiträge: 71
Nachdem ich die unteren 6 Bit des Wertes aus der Variablen ManfID erhalten habe, muss ich wieder auf ein Byte kommen. Dazu muss das Bit 7 und 8 auf Eins gesetzt werden. Dazu dachte ich nehme ich die 6 Bit und tue sie ODER-Verknüpfen mit der Bitmaske 192 (1100 0000). Das Ergebnis der ODER-Verknüpfung schreibe ich dann in das Adressfeld wo der Platzhalter %3% steht.

Die Anweisung in der Prozessvariablen, hatte ich so überlegt, funktioniert aber nicht.

<ManfID>
<Value>
<MSK Set1="/Process/Bus1/Device_0/ManfID" BitMsk_1="63"/>
<ST _="/Process/Bus1/Device_0/Set2"/>
<LD _="/Process/Bus1/Device_0/Set2"/>
<OR Set3="/Process/Bus1/Device_0/Set2" BitMsk_2="192"/>
<ST _="/Process/Bus1/Device_0/Set3"/>
</Value>
</ManfID>

Die External sieht folgendermaßen aus:

<Kom3DF _="Float" acc="R" Endian="big"
Request="FF FF FF FF FF 82 %3% %2% 00 00 %1% 03 00 %C%"
CStart="5" CSum="XOR" Pos="20"
ResTime="500ms" CharTime="300ms"/>
<Var1 _="Byte" acc="W" />
<Param1 _="Byte" acc="W" />
<Set3 _="Byte" acc="W" />


Nach oben 
   
Mit Zitat antworten  
 Betreff des Beitrags:
 Beitrag Verfasst: Fr Jun 01, 2007 9:11 am 
Tixi-Support-Team

Registriert: Mo Jul 11, 2005 5:50 pm
Beiträge: 1351
Wohnort: Berlin
Müsste eigentlich machbar sein:
Gleicher Ablauf wie oben, allerdings fügen Sie in die Prozessvariable statt LD eine Bitmaske MSK ein:

[<SetConfig _="PROCCFG" ver="y">
<ProcessVars>
<DevID>
<Value>
<MSK v1="/Process/Bus1/Device_0/DevID" v2="63"/>
<ST _="/Process/Bus1/Device_0/Var8"/>
</Value>
</DevID>
</ProcessVars>
</SetConfig>]

Die Bitmaske 63 (0011111111) filtert die ersten 6 Bits aus dem Byte raus.
Der Wert der gesetzten Bits wird dann mittels ST in Var8 geschrieben.
Sie müssen das ganze nurnoch mit Ihren bisherigen Prozessvariablen kombinieren...

_________________
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: Do Mai 31, 2007 2:15 pm 
Alter Hase

Registriert: Mi Apr 11, 2007 12:21 pm
Beiträge: 71
Ich möchte noch einen Variablenwert in das Adressfeld schreiben, jedoch brauch ich nur die untersten 6 Bit aus der Variablen "ManfID".
Lassen sich diese 6 Bit herauslesen und in eine andere Variable schreiben, wie es bereits bei der Variablen DevID nur als Byte jedoch umgesetzt wurde.


Nach oben 
   
Mit Zitat antworten  
 Betreff des Beitrags:
 Beitrag Verfasst: Mi Mai 30, 2007 2:30 pm 
Alter Hase

Registriert: Mi Apr 11, 2007 12:21 pm
Beiträge: 71
Super klappt wunderbar, ich bedanke mich!!!


Nach oben 
   
Mit Zitat antworten  
 Betreff des Beitrags:
 Beitrag Verfasst: Mi Mai 30, 2007 2:03 pm 
Tixi-Support-Team

Registriert: Mo Jul 11, 2005 5:50 pm
Beiträge: 1351
Wohnort: Berlin
Sie müssen sich das wie einen Turm aus Bauklötzen vorstellen:
LD packt einen Klotz drauf, ST nimmt einen Klotz runter.
ST funktioniert folglich nur dann, wenn noch Bauklötzer vorhanden sind.
Durch MPS wird der oberste Bauklotz gecloned (verdoppelt).
Am Ende darf nicht mehr als ein Klotz übrig sein.

z.B.:
LD -> ein Klotz auf dem Turm
MPS -> zwei Klötze auf dem Turm
MPS -> drei Klötze auf dem Turm
MPS -> vier Klötze auf dem Turm
ST -> drei Klötze auf dem Turm
ST -> zwei Klötze auf dem Turm
MPS -> drei Klötze auf dem Turm
ST -> zwei Klötze auf dem Turm
ST -> ein Klotz auf dem Turm

Für Sie heisst das bei 7 Variablen:

[<SetConfig _="PROCCFG" ver="y">
<ProcessVars>
<DevID>
<Value>
<LD _="/Process/Bus1/Device_0/DevID"/>
<MPS/>
<MPS/>
<MPS/>
<MPS/>
<MPS/>
<MPS/>
<ST _="/Process/Bus1/Device_0/Var1"/>
<ST _="/Process/Bus1/Device_0/Var2"/>
<ST _="/Process/Bus1/Device_0/Var3"/>
<ST _="/Process/Bus1/Device_0/Var4"/>
<ST _="/Process/Bus1/Device_0/Var5"/>
<ST _="/Process/Bus1/Device_0/Var6"/>
<ST _="/Process/Bus1/Device_0/Var7"/>
</Value>
</DevID>
</ProcessVars>
</SetConfig>]

_________________
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: Mi Mai 30, 2007 1:52 pm 
Alter Hase

Registriert: Mi Apr 11, 2007 12:21 pm
Beiträge: 71
Muss dann die Anweisung in den ProcessVariablen so aussehen:

[<SetConfig _="PROCCFG" ver="y">
<ProcessVars>
<DevID>
<Value>
<LD _="/Process/Bus1/Device_0/DevID"/>
<MPS/> <!-- Kopiert den Stackinhalt, damit man danach 2x schreiben kann-->
<ST _="/Process/Bus1/Device_0/Var1"/>
<ST _="/Process/Bus1/Device_0/Var2"/>
<MPS _="/Process/Bus1/Device_0/Var2"/>
<ST _="/Process/Bus1/Device_0/Var3"/>
<ST _="/Process/Bus1/Device_0/Var4"/>
<MPS _="/Process/Bus1/Device_0/Var4"/>
<ST _="/Process/Bus1/Device_0/Var5"/>
<ST _="/Process/Bus1/Device_0/Var6"/>
<MPS _="/Process/Bus1/Device_0/Var6"/>
<ST _="/Process/Bus1/Device_0/Var7"/>

</Value>
</DevID>
</ProcessVars>
</SetConfig>]


Nach oben 
   
Mit Zitat antworten  
 Betreff des Beitrags:
 Beitrag Verfasst: Mi Mai 30, 2007 1:32 pm 
Tixi-Support-Team

Registriert: Mo Jul 11, 2005 5:50 pm
Beiträge: 1351
Wohnort: Berlin
Dann müssen Sie die Prozessvariable um entsprechend viele MPS und ST-Anweisungen erweitern, und in der External weitere Hilfsvariablen einfügen.

_________________
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: Mi Mai 30, 2007 1:29 pm 
Alter Hase

Registriert: Mi Apr 11, 2007 12:21 pm
Beiträge: 71
Gut das Ganze funktioniert für eine weitere Variable, wie sieht es aber aus wenn ich die Variable DevID in 7 weitere Requests einbauen möchte.


Nach oben 
   
Mit Zitat antworten  
 Betreff des Beitrags:
 Beitrag Verfasst: Mi Mai 30, 2007 12:12 pm 
Tixi-Support-Team

Registriert: Mo Jul 11, 2005 5:50 pm
Beiträge: 1351
Wohnort: Berlin
Ich denke, dies wird nicht ohne weitere Hilfsvariablen gehen.

Zunächst erweitern Sie die Prozessvariable:

[<SetConfig _="PROCCFG" ver="y">
<ProcessVars>
<DevID>
<Value>
<LD _="/Process/Bus1/Device_0/DevID"/>
<b><MPS/></b> <!-- Kopiert den Stackinhalt, damit man danach 2x schreiben kann-->
<ST _="/Process/Bus1/Device_0/Var1"/>
<b><ST _="/Process/Bus1/Device_0/Var2"/></b>
</Value>
</DevID>
</ProcessVars>
</SetConfig>]

Dem Request hängen Sie dann wieder die DevID-Variable an:

<DynSlotFloat1 _="Blob" acc="RW" size="1" def="0B"
Request="|FF FF FF FF FF|82|92 08 00 00 %1%|84|01|%0%| %C%|"
Endian="big" CStart="5" CSum="XOR"
ResTime="1s" CharTime="300ms" />
<Var2 _="Byte" acc="W" />
<DynSlotFloat1_Out _="Float" Pos="17" acc="RW"/>

_________________
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: Mi Mai 30, 2007 11:52 am 
Alter Hase

Registriert: Mi Apr 11, 2007 12:21 pm
Beiträge: 71
Ich möchte jetzt den Wert in der Variablen "Var1" noch in weitere Requests einbauen, wie z.B in den Folgenden:

<DynSlotFloat1 _="Blob" acc="RW" size="1" def="0B"
Request="|FF FF FF FF FF|82|92 08 00 00 00|84|01|%0%| %C%|"
Endian="big" CStart="5" CSum="XOR"
ResTime="1s" CharTime="300ms" />

<DynSlotFloat1_Out _="Float" Pos="17" acc="RW"/>


<DynSlotFloat2 _="Blob" acc="RW" size="1" def="0C"
Request="|FF FF FF FF FF|82|92 08 00 00 00|84|01|%0%|%C%|"
Endian="big" CStart="5" CSum="XOR"
ResTime="1s" CharTime="300ms" />
<DynSlotFloat2_Out _="Float" Pos="17" acc="RW"/>

Und zwar soll der Wert von Var1 wieder in das 5.Byte des Adressfeldes des Requests, wie beim Request für Commando 3.


Nach oben 
   
Mit Zitat antworten  
 Betreff des Beitrags:
 Beitrag Verfasst: Mi Mai 30, 2007 9:33 am 
Alter Hase

Registriert: Mi Apr 11, 2007 12:21 pm
Beiträge: 71
So wie es aussieht, mußte ich nur die Position an der der Wert für die Varible DevID in der Response steht, von 21 auf 22 ändern.


Ich bin Ihnen sehr dankbar für ihre Unterstützung!!!!


Nach oben 
   
Mit Zitat antworten  
 Betreff des Beitrags:
 Beitrag Verfasst: Mi Mai 30, 2007 8:35 am 
Tixi-Support-Team

Registriert: Mo Jul 11, 2005 5:50 pm
Beiträge: 1351
Wohnort: Berlin
Also wird die DevID beim ersten Request schon nicht gefunden, und kann somit auch nicht umkopiert werden.

Können Sie bitte mal einen Mittschnitt der Kommunikation (erster Request + Antwort) einfügen ?

_________________
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: Mi Mai 30, 2007 8:30 am 
Alter Hase

Registriert: Mi Apr 11, 2007 12:21 pm
Beiträge: 71
Nach Änderung des Programms, sieht die External folgendermaßen aus:

[<SetConfig _="PROCCFG" ver="y">
<External>
<Bus _="COM2" Name="Bus1" protocol="ABB,BIN" type="master" baud="1200"
handshake="RTSDTRPower" format="8O1" >
<Device _="0" Name="Device_0" Pollrate="10s">
<UniqueID _="Byte" acc="W"
Request="FF FF FF FF FF 02 %0% 00 00 %C%"
CStart="5" CSum="XOR" ResTime="500ms" CharTime="300ms"
ErrDetect="00" ErrDetectOp="NOT" ErrDetectPos="9" ErrPos="9"
ErrType="Byte" def="0x80" Endian="big" simpleType="Uint8" />
<State _="Byte" acc="R" def="0" ErrType="None" Pos="10" />
<DevType _="Byte" acc="R" def="0" Pos="11" />
<ManfID _="Byte" acc="R" def="0" Pos="12" />
<ManfDefType _="Byte" acc="R" def="0" Pos="13" />
<UCRev _="Byte" acc="R" def="0" Pos="14" />
<TrRev _="Byte" acc="R" def="0" Pos="15" />
<SWRev _="Byte" acc="R" def="0" Pos="16" />
<HWRev _="Byte" acc="R" def="0" Pos="17" />
<DevID _="Byte" acc="R" def="0" Pos="21" />

<!--HART-Variablen-Definition -->

<!-- Abfrage Kommando 3-->
<!--KOM3Df: Durchfluss KOM3Vorl: Zaehler>V KOMRueckl: Zaehler <R -->

<Kom3DF _="Float" acc="R" Endian="big"
Request="FF FF FF FF FF 82 92 08 00 00 %1% 03 00 %C%"
CStart="5" CSum="XOR" Pos="20"
ResTime="500ms" CharTime="300ms"/>
<Var1 _="Byte" acc="W" />


Bei Abfrage des Wertes der Variablen DevID kam folgende Antwort:

- <Error>
<ErrNo _="-2194" />
<ErrText _="variable exists, but does not contain valid data" />
- <ErrorCause>
<ErrNo _="-2194" />
<ErrText _="variable exists, but does not contain valid data" />
<Line _="140" />
<Module _="SSet" />
<Class _="TXSTCPGetSetValueCmd" />
</ErrorCause>
</Error>

Und die Abfrage der Variablen Var1 ergab:

<Get _="" />


Nach oben 
   
Mit Zitat antworten  
 Betreff des Beitrags:
 Beitrag Verfasst: Di Mai 29, 2007 7:49 pm 
Tixi-Support-Team

Registriert: Mo Jul 11, 2005 5:50 pm
Beiträge: 1351
Wohnort: Berlin
Zeigt denn die Abfrage
[<Get _="/Process/<b>Bus1</b>/<b>Device_0</b>/DevID" ver="v"/>]
den Wert korrekt an ?

In Ihrer External passen die "Name" Attribute nicht zu den Pfaden:

[<SetConfig _="PROCCFG" ver="y">
<External>
<Bus _="COM2" <b>Name="Bus1"</b> protocol="ABB,BIN" type="master" baud="1200" handshake="RTSDTRPower" format="8O1" >
<Device _="0" <b>Name="Device_0"</b> Pollrate="10s">

...

_________________
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 Mai 29, 2007 4:33 pm 
Alter Hase

Registriert: Mi Apr 11, 2007 12:21 pm
Beiträge: 71
Hat leider auch nix gebracht.


Nach oben 
   
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
 
Ein neues Thema erstellen Auf das Thema antworten  [ 39 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3  Nächste

Foren-Übersicht » Alarm Modem Projektierung » TiXML


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 7 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