DIAdemのツールバーにカスタムのボタンを作成してスクリプト実行を埋め込む方法

更新しました Feb 15, 2023

環境

ソフトウェア

  • DIAdem

DIAdemで作成したスクリプトをカスタムの関数としてツールバーに追加したい場合があります。ここではカスタムの関数として、作成したスクリプトをDIAdemに埋め込み、使用する2つの方法について確認します。

この資料では下記の2種類の方法を確認します。:

  1. 事前定義設定を使用して特定のスクリプトの登録・実行を行う
  2. カスタムのアイコンをツールバーに登録して特定のスクリプトの登録・実行を行う
ここではData PortalにデフォルトでロードされているEXAMPLE.TDMデータとこちらの記事で紹介されているトルクの計算及びグラフ表示を行う*.vbsファイルを使用します。下記のスクリプトをVBSファイルとして保存した物を使用します。
 
Option Explicit
'PowerとRPMからトルクを計算し、Torque2としてData Portalに新しいチャンネルを作成
Call Calculate("ch(""[1]/Torque2"")=9549*ch(""[1]/Power"")/ch(""[1]/RPM"")")

'DIAdem VIEWに2D軸システムの表示領域を作成
Dim oSheet, oDisplayObj
Call View.NewLayout()
Set oSheet = View.ActiveSheet   
oSheet.Name = "MySheet1"
View.Sheets("MySheet1").Areas("Area : 1").DisplayObjType = "CurveChart2D"
Set oDisplayObj = View.Sheets("MySheet1").Areas("Area : 1").DisplayObj

'DIAdem VIEWの2D軸システムにTorqueとTorque2のデータを表示
Dim oChnX, oChnY, o2DCurve
Set oChnX = Data.Root.ChannelGroups(1).Channels("Time")
Set oChnY = Data.Root.ChannelGroups(1).Channels("Torque")
Set o2DCurve = oDisplayObj.Curves2D.Add(oChnX.GetReference(eRefTypeIndexName),oChnY.GetReference(eRefTypeIndexName))
Set oChnY = Data.Root.ChannelGroups(1).Channels("Torque2")
Set o2DCurve = oDisplayObj.Curves2D.Add(oChnX.GetReference(eRefTypeIndexName),oChnY.GetReference(eRefTypeIndexName))
o2DCurve.MarkerType                 = "circle"
o2DCurve.MarkerColor                = "dark green"
o2DCurve.MarkerColorAuto            = false
o2DCurve.MarkerSize                 = 2
o2DCurve.Color = ""

'DIAdem VIEWを表示
View.AutoRefresh = True: Call View.Refresh()
Call WndShow("VIEW")

ここでは上記のスクリプトをCalcDispTorque.VBSとして保存しました。
 
CalcDisp.png


 
  1. 事前定義設定を使用して特定のスクリプトの登録・実行を行う

    1. 事前定義設定の設定
      下記の様に右クリックから事前定義設定を開き、CalcDispTorque.VBSを登録します。ここではF2にスクリプトを登録します。
       

      jizenteigi.png
       

    2. スクリプトの実行
      F2にスクリプトを登録した場合、Shift + F2もしくは事前定義設定を行ったF2のボタンをクリックする事でスクリプトが実行されます。ここではデフォルトでロードされているEXAMPLE.TDMのPowerとRPMのデータからTorque2を算出し、元のデータのTorqueとデータの比較を行うグラフを作成します。
       

    3. 設定の保存
      事前定義設定でスクリプトを登録し、このスクリプトのショートカットを次回以降DIAdemを起動した際も使用する場合、下記の様にツールバーの設定 >> 別名で保存からDIAdemの設定をDesktop.DDDファイルに上書き保存します。
       

      save.png
       

  1. カスタムのアイコンをツールバーに登録して特定のスクリプトの登録・実行を行う

    1. カスタムのアイコンを追加するVBScriptの実行
      DIAdem SCRIPTにおいて新規のVBScriptを作成し、下記の内容を実行します。
       

      Option Explicit
      Dim oMyActionObj
      If not (BarManager.ActionObjs.Exists("MyButton")) Then
        Set oMyActionObj = BarManager.ActionObjs.Add("MyButton", "CustomButton") 
        oMyActionObj.Picture = "sample.ico"
        oMyActionObj.Tooltip = "MyButton"
        oMyActionObj.OnClickCode.Code = "Call Scriptstart(""C:\Users\NIJ ASE\Desktop\CalcDispTorque.VBS"")"
      Else
        Set oMyActionObj = BarManager.ActionObjs("MyButton")
      End If
      Call BarManager.Bars("NAVMain").UsedActionObjs.Add(oMyActionObj)


      ここではNAVIGATORのツールバーにカスタムのアイコンを埋め込み、アイコンがクリックされた際にスクリプトのパスで指定されたVBScriptが実行されるように設定しています。
       

      script.png


      アイコンを埋め込む画面をANALYSISに変更したい場合は下記の部分のNAVMainをANAMainとしてます。各画面の指定方法についてはShift + Ctrlで画面上のアイコンの上にマウスカーソルを合わせることで埋め込み先を指定するバーIDを確認する事ができます。
       

      Call BarManager.Bars("NAVMain").UsedActionObjs.Add(oMyActionObj)

      バーID.png
       

    2. スクリプトの実行
      上記のスクリプトにより、DIAdemのNAVIGATOR画面に下記の様にスクリプトが埋め込まれます。このアイコンをクリックすると、デフォルトでロードされているEXAMPE.TDMのPowerとRPMからトルクが計算され、Torque2としてData Portalに保存され、Torqueのデータと共にDIAdem VIEWにプロットされます。
       

      embeddedscript.png

       

    3. 設定の保存
      スクリプト処理を行うアイコンを埋め込んだ後、ツールバーの設定 >> 別名で保存からDIAdemの設定をDesktop.DDDファイルに上書き保存する事で、次回以降DIAdemを起動した際もアイコンが埋め込まれた状態となります。