Page 1 of 1

Instrumente des InstrumentenPanels zeigen keine Wirkung

Posted: Mon 30. Jul 2012, 07:34
by ralfKu
Im Instrument Panel kann ich nach dem Starten des PCAN Explorers Signale manuell mit den Knöpfen ändern.
Habe ich ein VB-Script ausgeführt kann ich anschließend kein einziges Signal mehr manuell verändern. Die Knöpfe springen immer wieder auf 0 bzw. den durch das Skript gesetzten Wert zurück.

Re: Instrumente des InstrumentenPanels zeigen keine Wirkung

Posted: Mon 30. Jul 2012, 13:33
by M.Maidhof
Hallo,

welche Version des PCAN-Explorers 5 wird hierbei verwendet? Was wird im Script genau gemacht? Eventuell ist das Script fehlerhaft, und die Signalwerte werden darin falsch gesetzt bzw die Objekte ueberschrieben.

Mit freundlichen Gruessen

Michael Maidhof

Re: Instrumente des InstrumentenPanels zeigen keine Wirkung

Posted: Tue 31. Jul 2012, 08:26
by ralfKu
Hallo.

Ich habe diese Probleme bei der PCAN Version 5.2.0.754 und bei der Version 5.2.2.773 festgestellt.

Das Skript sucht in den Symbolen nach dem zu setzenden Symbolnamen und schreibt zu den entsprechenden Variablenwert die Wert. Die Nachricht wird dann gesendet:

Code: Select all

  For Each objSymbol In SymbolsManager.Item(1) 
    If objSymbol.Name = "abc" Then
      For Each objVar In objSymbol.Multiplexers(1).Variables
          If objVar.Name = "xyz" Then
             objVar.Value = mystruct.xyz
...
     Set myMsg = objSymbol.Multiplexers(1).Send(1, peSendWait)
      myMsg.IsPaused = false
Der Schaltregler soll nach Beendigen des Skriptes genau das Signal "xyz" manuell verändern. Wobei dieser in die letzte Stellung von "xyz" zurückspringt und der zu sendende Wert nicht verändert wird

Re: Instrumente des InstrumentenPanels zeigen keine Wirkung

Posted: Tue 31. Jul 2012, 12:08
by M.Riedl
Hallo,

als erstes bitte ich Sie hier im Forum keine doppelten Themen zu öffnen, die im Grunde das gleiche Thema behandeln.

Nun zum Problem.

Das beschriebene Problem konnte so nicht nachvollzogen werden.

1. Ist das Script wirklich beendet, während des Versuchs die Schaltregler zu verändern, oder läuft das Script noch im Hintergrund? Dadurch könnten die Schaltregler beeinflusst werden.
2. Wie wird das Script genau aufgerufen?
3. Welche Panel-Objekte werden benutzt und sind davon betroffen (z.B. RockerSwitch, usw.)?
4. Wie ist das betroffene Symbol abc definiert (Datenlänge, Richtung, Zykluszeit, usw.)?
5. Wie ist die betroffene Variable xyz im Symbol abc definiert (Datentyp, Bitstart, Bitlänge)?

Ein paar Hinweise zum Versenden von Botschaften im PCAN-Explorer über VB-Script:

Normalerweise sollte es genügen, den Variablenwert zu setzen, um das Senden der Botschaft auszulösen, die der Variablen zugrunde liegt. Das hat den Vorteil, das eine bereits vorhandene Botschaft in der Sendeliste wiederbenutzt wird und nur deren Signalwert aktualisiert wird.

Code: Select all

objVar.Value = mystruct.xyz
So wie es im angegebenen Script definiert ist, wird bei jeder Ausführung des Scripts eine neue Botschaft in der Sendeliste angelegt.

Code: Select all

Set myMsg = objSymbol.Multiplexers(mux).Send(1, peSendWait)
myMsg.IsPaused = false
Alternative kann auch folgendes ausgeführt werden.

Code: Select all

If objVar.Value <> mystruct.xyz Then
    objVar.Value = mystruct.xyz
Else
    objSymbol.Multiplexers(mux).Send 1, peSendOnce
End If
Für eine bessere Bearbeitung bzw. Lösung des Problems sende Sie uns das komplette PCAN-Explorer 5 Projekt inklusive Symboldatei, Instruments Panel-Datei, VBS-Makrodatei usw. an unsere Support E-Mail-Adresse unter Angabe Ihrer Seriennummer der PCAN-Explorer 5 Lizenz zu.

Mit freundlichem Gruß
M. Riedl