# 予約語

## 演算子

演算子 | 意味
--- | ---
( | 前括弧
) | 後ろ括弧
! | 否定(NOT)
* | 乗算
/ | 除算
+ | 加算
- | 減算
> | より大きい
< | より小さい
>= | 以上
<= | 以下
== | 等価
!= | 否等価(NOT=)
^ | べき乗
&& | 論理積
|| | 論理和

「pi」はπ(円周率)を表す定数です

演算子の説明
  http://www.y-adagio.com/public/standards/tr_javalang/15.doc.htm#4990

※XMLでは「>」「<」「&」が特殊文字になります。実際ページに表記する場合は、それぞれ「&gt;」「&lt;」「&amp;」と記述します。

特殊文字を記述してしまった場合は、以下のエラーがコンソールに表示されます。(&の場合)

    [2006-03-07 11:32:43,336] [main] ERROR (Digester.java:1558) - Parse Fatal Error at line 31 column 69: The entity name must immediately follow the '&' in the entity reference.
    org.xml.sax.SAXParseException: The entity name must immediately follow the '&' in the entity reference.
    	at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
    	at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source)
    	at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
    	at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
    	at org.apache.xerces.impl.XMLScanner.reportFatalError(Unknown Source)
    	at org.apache.xerces.impl.XMLScanner.scanAttributeValue(Unknown Source)
    	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanAttribute(Unknown Source)
    	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)
    	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
    	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
    	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    	at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
    	at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
    	at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
    	at org.apache.commons.digester.Digester.parse(Digester.java:1666)
    	at org.F11.scada.server.command.CommandProvider.<init>(CommandProvider.java:104)
    	at org.F11.scada.server.command.CommandProvider.<init>(CommandProvider.java:73)
    	at org.F11.scada.xwife.server.WifeMain.<init>(WifeMain.java:162)
    	at org.F11.scada.xwife.server.WifeMain.main(WifeMain.java:268)

## 関数

関数 | 意味
--- | ---
abs | 絶対値
sin | サイン
cos | コサイン
tan | タンジェント
asin | アークサイン
acos | アークコサイン
atan | アークタンジェント
sqrt | 平方根(√)

関数の説明
  http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/lang/Math.html

数字、以上の文字列から始まるプロバイダ名は使用できません。

## 例

アナログデータを含む場合:数値が返ってくる場合(P1_Analog〜はプロバイダ_ホルダ名)

        value="P1_Analog1 + 100"
        value="P1_Analog1 - P1_Analog2"
        value="P1_Analog3 * (P1_Analog1 - P1_Analog2)"
        value="sin P1_Analog3"
        value="cos(P1_Analog3 * (P1_Analog1 - P1_Analog2))"

アナログデータを含む場合:ブール値が返ってくる場合(P1_Analog〜はプロバイダ_ホルダ名、 P1_Digitalは内容がtrueのプロバイダ_ホルダ名)

        value="P1_Analog1 >= 0"
          P1_Analog1が0以上ならtrue
        value="P1_Analog1 > 0 && P1_Analog1 < 100"
          P1_Analog1が0より上かつ100未満ならtrue
        value="P1_Analog1 > 0 && P1_Analog1 < 100 && P1_DIGITAL"
          P1_Analog1が0より上かつ100未満かつP1_DIGITALがtrueならtrue

デジタルデータを含む場合(P1_Digitalは内容がtrueのプロバイダ_ホルダ名)

        value="P1_DIGITAL"
          trueが返ります
        value="!P1_DIGITAL"
          falseが返ります
        value="P1_DIGITAL && P1_DIGITAL"
          trueが返ります
        value="P1_DIGITAL && !P1_DIGITAL"
          falseが返ります
        value="P1_DIGITAL || !P1_DIGITAL"
          trueが返ります
        value="!P1_DIGITAL || !P1_DIGITAL"
          falseが返ります