Variabeln aus VBS-Macro im ControlPanel darstellen

Comprehensive CAN monitor for Windows® and its add-ins: Plotter, CANdb Import, Instruments Panel, and J1939
Post Reply
engineer
Posts: 5
Joined: Tue 21. Feb 2012, 11:25

Variabeln aus VBS-Macro im ControlPanel darstellen

Post by engineer » Tue 21. Feb 2012, 11:31

Hallo,

gibt es eine Möglichkeit, eine interne Macrovariabel auf der Oberfläche des ControlPanels darzustellen
und auch den Wert über eine Eingabe zu beinflussen?

M.Maidhof
Support
Support
Posts: 1751
Joined: Wed 22. Sep 2010, 14:00

Re: Variabeln aus VBS-Macro im ControlPanel darstellen

Post by M.Maidhof » Tue 21. Feb 2012, 15:02

Hallo,

ja das ist moeglich, dazu muessen Sie ihre Variable einem Signal zuordnen. Hier ein Beispiel, wo ein neues Signal in einem VBmacro erzeugt wird. Dieses Signal kann dann auch von einem Panel verwendet werden. Sie koennen das Signal auch vorher schon im Symboleditor als virtuelle Variable erzeugen, damit es im Panel auswaehlbar ist.

Sub CalculatePower()
Dim voltage, current, power

Set voltage = Signals("Voltage")
Set current = Signals("Current")

Set power = Signals("Power")
If power Is Nothing Then
' Signal not found, create and initialize new one
Set power = Signals.Add("Power")
power.DataType = peDataTypeFloat
End If

While True
power.Value = voltage.Value * current.Value
Wait(10) ' Prevent 100% CPU load
Wend

End Sub

Michael90
Posts: 5
Joined: Fri 5. Aug 2011, 12:09

Re: Variabeln aus VBS-Macro im ControlPanel darstellen

Post by Michael90 » Wed 22. Feb 2012, 16:02

Hallo,
vll passend zu dem Thema. Wie kann ich Signalen im Makro ein ValueIndicator im instruments panel zuweisen?

Mir fehlt dazu bisher die Möglichkeit, ein instrumentspanel-objekt zu erzeugen und dazu die Dokumentation zu finden. Oder gibts das gar nicht?

M.Maidhof
Support
Support
Posts: 1751
Joined: Wed 22. Sep 2010, 14:00

Re: Variabeln aus VBS-Macro im ControlPanel darstellen

Post by M.Maidhof » Thu 23. Feb 2012, 09:13

Hallo,

ja, das ist moeglich. Hier ein Beispiel:

Dim doc
Set doc = Documents("MyPanel.ipf")
If Not doc Is Nothing Then
Dim panel, valInd
Set panel = doc.ActiveWindow.Object
Set valInd = panel.ActiveScene.Controls.Add(peControlTypeValueIndicator)
Set valInd.Signal = Signals("MySignal")
End If

Post Reply