コンテンツにスキップ

5.4 グローバル変数

5.4.1 概要#

グローバル変数は、頻繁に変化するデータをメモリ上の変数へ格納する機能です。この変数をSpeeDBee Synapse の各種機能(数値変換、登録条件、コンポーネントの演算式、条件式、SQLなど)で利用できます。
これにより、システム稼働中の条件式閾値の更新や特定のデータ値による他データ登録の抑制などが可能となります。

グローバル変数1

グローバル変数の利用できるのは、演算式、条件式、SQL内となります。 演算式、条件式については、こちらを参照してください。
SQLについては、こちらを参照してください。

5.4.2 構文#

グローバル変数には、通常のグローバル変数と永続化グローバル変数の2種類の指定方法があります。どちらも64個の変数を使用できます。
通常のグローバル変数は、SpeeDBee Synapseのコアを停止(稼働中のマシンを再起動するなど)すると、値は失われます。 永続化グローバル変数は、SpeeDBee Synapseのコアを停止しても、次の起動時に最終値が参照できます。

  • $GVAR0 ~ $GVAR63(グローバル変数)

    GVAR(グローバル変数)は、SpeeDBee Synapseのコアを再起動する毎に、0で初期化されます。値の代入が行われるまで0のままとなります。

  • $PVAR0 ~ $PVAR63(永続化グローバル変数)

    PVAR(永続化グローバル変数)は、SpeeDBee Synapseのコアを初めて起動する時に、0で初期化されます。値の代入が行われると、コアを再起動しても値を保持します。

SpeeDBee Synapseの再起動時に、前回起動時に代入された値を使用したい場合は、永続化グローバル変数を使用してください。

  1. 代入方法

    GVAR0 := $VALUE
    
    PVAR15 := ($VALUE * 20)
    
    ※代入するグローバル変数の先頭には「$」は必要ありません。

    • 数値変換における代入時の注意点

      PVAR0 := $VALUE * 2
      
      上記のように代入を指定すると、登録される値は$VALUEに2を乗算した値となります。 登録される値が変化することに注意してください。

    • 条件式における代入時の注意点

      GVAR0 := $VALUE
      
      条件式では、代入のみを指定することはできません。条件式内で、代入したい場合は 以下のように条件式としての指定が必要です。
      0 < (GVAR0 := $VALUE)
      
      この場合、$VALUEが0より大きい場合条件成立となります。GVAR0への代入は常に行われます。

  2. 参照方法

    $GVAR0 < $VALUE
    
    $PVAR15 > ($VALUE + 20)
    
    ※参照するグローバル変数の先頭には「$」を付けます。