ＳＤロガースクリプト言語
ＳＤロガースクリプト言語 リファレンス形式
第２．０３版

２０２０年３月３日 株式会社データ・テクノ■■制約■■
行
１行の最大文字数は、改行文字を除いて１２７文字です。
文は、１行に１文ずつ書かなければなりません。複数行にまたがって記述することはできません。
コメント文を除いたスクリプトの最大行数はつぎの通りです。
項目
ＳＤロガー
ＳＤロガー２
ＳＤロガー３
ＳＤロガー４単位
256256
512
512
最大行行

データ
データ文、WAIT DATA 文、LOG 文に書けるデータ、テキストの総バイト数はつぎの通りです。
項目
ＳＤロガー
ＳＤロガー２
ＳＤロガー３
ＳＤロガー４512
51210241024
総バイト数

単位バイト

ループ
ループは最大８重までネストして書くことができます。

プロセス
スクリプトにはメインプロセスを含め、最大８個までプロセスを書くことができます。

■■データ文■■
行の先頭に「/」または「:」が置かれた文はデータ文と解釈され、記述されているデータがそのまま送信されます。

テキストデータ文/<data>行の最初に「/」が置かれたデータ文は、そのデータはテキストで記述されているものと解釈されます。
「/」の次の文字から、改行コードの前までが、スペースやタブコードも含めて送信されます。改行コードは送信されません。

バイナリデータ文:<data>行の最初に「:」が置かれたデータ文は、そのデータはヘキサ（１６進数）で記述されているものと解釈されます。
ヘキサ文字は大文字でも小文字でも構いません。スペースやタブは区切りとして解釈され、それ自身は送信されません。区切りがない場合は２桁ずつで区切って解釈されます。

ＳＤロガースクリプト言語 リファレンス形式[X507018-11]1/9

■■制御文■■
先頭に「#」が付く文は制御文です。制御文には以下の種類があります。

●LOOP 文#LOOP <count> | EVER
対応する END 文までを<count>回、または無限回数繰り返します。
「EVER」を指定、または「0」を指定、またはパラメータを省略した場合は、無限回数繰り返します。

<count>0～60000●END 文#END
対応する LOOP 文などのブロックの終了を示します。
ブロックがネストしている場合は、最も内側のブロックを終了させる効果を持ちます。

●WAIT TIME 文#WAIT TIME <time><time> := <number> <unit><unit> := MS | S | M
指定時間待ちます。待ち時間は<time>に指定します。<time>は単位<unit>をつけて表わします。
<number>を省略した場合は「1」とみなされます。<unit>を省略した場合は「S」とみなされます。
<time>を省略した場合は 1 秒とみなされます。
時間ゼロを指定した場合は少しも待ちません。すなわちそれは何も書かないのと同じです。

<unit>
MSS
M

単位ミリ秒
秒
分

範囲
0MS~60000MS
0S~60000S
0M~999M

WAIT TIME 文の待ち時間には、ハードウェアの持つ、時間精度に伴う誤差が含まれます。
ハードウェアの持つ、時間精度につては、「取扱説明」を参照してください。
スクリプト言語上、時間経過が存在するのはこの WAIT 系文と、FCHANGE 文だけです。その他の文は実行時間ゼロで実行されるものとみなされます。

●WAIT DATA 文#WAIT DATA <data>
指定されたデータを受信するのを待ちます。
データの書き方はデータ文と同じです。

ＳＤロガースクリプト言語 リファレンス形式[X507018-11]2/9

●WAIT BYTE 文#WAIT BYTE <byte>
指定されたバイト数データを受信するのを待ちます。
<byte>を省略した場合は「1」とみなされます。
<byte>にゼロを指定した場合は何も待ちません。すなわちそれは何も書かないのと同じです。

<byte>

0～60000●WAIT CTS 文#WAIT CTSON#WAIT CTSOFF
ＣＴＳ信号がＯＮまたは、ＯＦＦされるのを待ちます。
ＣＴＳ信号は、Ｄ－Ｓｕｂ９ピンコネクタの８番ピンに入力される信号で、高レベルでＯＮと認識します。
【適応外】ＣＭＬｏｇｇｅｒV1.50 以前。

ＳＤロガースクリプト言語 リファレンス形式[X507018-11]3/9

●WAIT EX 文
#WAIT EX1ON#WAIT EX1OFF#WAIT EX2ON#WAIT EX2OFF#WAIT EX3ON#WAIT EX3OFF#WAIT EX4ON#WAIT EX4OFF
拡張信号がＯＮまたは、ＯＦＦされるのを待ちます。
拡張信号の入力は、低レベルのとき、ＯＮと認識されます。
拡張信号は、機種に応じて下表に示されるピンに対応します。
【ＳＤロガー4】

拡張信号
EX1
EX2
EX3
EX4

ＣＮ７2 番ピン
3 番ピン
4 番ピン
5 番ピン

【ＳＤロガー３】

拡張信号
EX1
EX2
EX3
EX4ＣＮ６使用できません。
使用できません。
3 番ピン
2 番ピン

【ＳＤロガー２】

拡張信号
EX1
EX2
EX3
EX4ＣＮ６2 番ピン
3 番ピン
4 番ピン
5 番ピン

【適応外】ＣＭＬｏｇｇｅｒV1.50 以前。

ＳＤロガースクリプト言語 リファレンス形式[X507018-11]4/9●LOG 文#LOG <text>
指定された<text>をカードに書き出します。
<text>には書きに示す書式指定文字を含めることが出来ます。
@c

@Y
@M
@D
@h@m@s@@@r@n

ログカウンター。このログをとった回数。
起動したとき０から始まり、このログをとる度に+1 される。
4294967295 を超えると０に戻る。
年。２桁のＡＳＣＩＩ文字。
月。２桁のＡＳＣＩＩ文字。
日。２桁のＡＳＣＩＩ文字。
時。２桁のＡＳＣＩＩ文字（２４時間表示）。
分。２桁のＡＳＣＩＩ文字。
秒。２桁のＡＳＣＩＩ文字。
ＡＳＣＩＩ文字の「@」そのもの。
復帰コード。（0xD）
改行コード。（0xA）【ＳＤロガー３、４のみ】【ＳＤロガー３、４のみ】【ＳＤロガー３、４のみ】【ＳＤロガー３、４のみ】【ＳＤロガー３、４のみ】【ＳＤロガー３、４のみ】※<text>に書ける文字の最大数は、データ文、WAIT DATA 文のデータなどと合わせて、つぎの通りです。
項目ＳＤロガー
ＳＤロガー２
ＳＤロガー３
ＳＤロガー４51251210241024
総バイト数※１回の LOG 文で書き出せる文字の最大数は、１２７文字までです。
【適応】
項目@Y、@M、@D、@h、@m、@s

ＳＤロガー×ＳＤロガー２×

ＳＤロガー３〇

単位バイト

ＳＤロガー４〇●RTS 文#RTS ON#RTS OFF
ＲＴＳ信号をＯＮまたは、ＯＦＦします。
ＲＴＳ信号は、Ｄ－Ｓｕｂ９ピンコネクタの７番ピンに出力される信号で、ＯＮで高レベルを出力します。

●FCHANGE 文#FCHANGE
現在ロギング中のログファイルを閉じ、新しいロギングファイルへのロギングを開始します。
新しいロギングファイルの名前は、命名規則に従ってひとつ進んだ名前になります。
この制御文の実行には、時間を要する場合があります。
【適応外】ＣＭＬｏｇｇｅｒV1.50 以前。

ＳＤロガースクリプト言語 リファレンス形式[X507018-11]5/9

●PAUSE 文#PAUSEロギング（カードへの記録）を、つぎに受信するデータから停止します。
電源投入時は、ロギング状態です。
【適応】
項目

ＳＤロガー

#PAUSE 文×

ＳＤロガー２
ＳＤロガー３×

項目#PAUSE 文

CMLogge×

CMLogger2〇

ＳＤロガー４
V392X 以前
×ＳＤロガー４
V934X 以降〇

●RESUME 文#RESUME
ロギング（カードへの記録）を、つぎに受信するデータから再開します。
【適応】
項目

ＳＤロガー

#RESUME 文×

ＳＤロガー２
ＳＤロガー３×

項目#RESUME 文

CMLogge×

CMLogger2〇

ＳＤロガー４
V392X 以前
×ＳＤロガー４
V934X 以降〇

●PROCESS 文#PROCESS
スクリプト開始時、全ての PROCESS 文が同時に実行を開始します。
プロセスは次の PROCESS 文を見つけると実行を停止します。
スクリプトの最初のプロセスには、PROCESS 文を書く必要はありませんが、あっても構いません。

●NOP 文#NOP
何もしません。
WAIT DATA 文の連結を阻止するのに使えます。

ＳＤロガースクリプト言語 リファレンス形式[X507018-11]6/9

■■コンフィギュレーション文■■●ｆ：ＥＮＣＯＤＥ文#f:ENCODE <code>指定された<code>を受信した場合、同じコードをもうひとつロギングデータに加えます（エンコード機能）。
<code>にはエンコードさせたい文字（エスケープ文字）を、一文字書きます。二文字目以降の指定があっても無視されます。
最初に「:」を書いた場合は、以降に１桁、または２桁のヘキサ文字列として解釈します。
エスケープ文字に「:」を指定したいときは、「/:」と書きます。
エスケープ文字に「/」を指定したいときは、「//」と書きます。
:/

つぎに続く文字は、２桁、または１桁のヘキサ文字列として解釈されます。
この文字は無視し、つぎに続く文字が有効となります。

●ｆ：ＳＴＯＰＢＩＴＳ文#f:STOPBITS <n>
シリアル通信上のストップビットを指定します。
ストップビットはデフォルトでは「１」で、<n>に「2」を指定した場合だけ、「２」ストップビットに変更されます。
<n>に「2」以外の値を指定した場合は、「１」ストップビットと解釈されます。
【適応外】ＣＭＬｏｇｇｅｒV1.30 以前。

●ｆ：ＥＸ文
#f:EX<n> <f><n> := 1 | 2 | 3 | 4<f> := IN
拡張信号の機能を設定します。
拡張信号の機能は今のところ入力信号（=IN）しかありません。
拡張信号はデフォルトでは、入力信号（=IN）になっています。
【適応外】ＣＭＬｏｇｇｅｒV1.50 以前。

●ｆ：ＯＭＩＴ文#f:OMIT <data>
受信しても、カードにロギング（記録）しないコードを登録します。
登録されたコードは、受信しても、ロギングされません。
<data>の並び順には意味がなく、１バイトごとに、単純に、比較されます。
<data>の書き方はデータ文と同じで、「/」でテキスト、「:」でヘキサを記述できます。
<data>で登録できるコードは、合計１０バイト分までです。
f:OMIT 文で登録されたコードが、f:ENCODE 文で指定されても、エンコード機能は働きません（OMIT 優先）。
【適応】ＳＤロガー３、４（ＤＴ－ＭＣ０３、ＤＴ－ＭＣＫ３、ＤＴ－ＭＣ０４、ＤＴ－ＭＣＫ４）に適応。

ＳＤロガースクリプト言語 リファレンス形式[X507018-11]7/9

●ｆ：ＬＦ
ｆ：ＬＦＥＸＬＦＥＸＴ
ＥＸＴ文#f:LFEXT <ext>
ログファイルの拡張子を指定します。ログファイルは、ここで指定した拡張子になります。
拡張子に使用できる文字は、つぎの表のとおりです。小文字を指定した場合は、大文字に変換されます。
指定できる文字は、３文字までです。
ここで指定しなかった場合の、ログファイルの拡張子は、「LOG」です（デフォルト値）。

０１
２
３
４５６７８９ＡＢＣＤＥＦ

２34567!
“#$%&‘()*+,.
/0123456789:;
<=>?

@A
B
CDEFGHIJKLMNOPQRSTUVWXYZ[¥]^_`abcdefghi
jklmnopqrstuvwxyz{|}~

使用出来る文字
使用できない文字【適応外】ＳＤロガー複合版 V050X 以前。ＳＤロガースクリプト版 V050S 以前。
ＣＭＬｏｇｇｅｒV1.82 以前。

■■コメント文■■■■コメント文■■
先頭に「;」が付く文はコメント文です。コメント文の「;」から後ろには自由なコメントを記述できます。

ＳＤロガースクリプト言語 リファレンス形式[X507018-11]8/9

■■ＷＡＩＴ ＤＡＴＡ文の連結■■
複数行に連続して書かれた WAIT DATA 文は、ひとつに連結されます。
連結された WAIT DATA 文は、ひとつの WAIT DATA 文と同じようにみなされ、それらに書かれたデータが、その順序で隙間なく連続して受信した場合のみ、それらの WAIT DATA 文を脱出します。
連結していない単独の WAIT DATA 文では、各 WAIT DATA 文に示されたデータごとに、その文を脱出しますので、その途中で任意のデータを受信しても、スクリプトは進んでいきます。
複数行に連続して書く WAIT DATA 文を連結させないためには、NOP 文を使います。
WAIT DATA 文は、途中にコメント文が挟まった場合でも連結されます。
下記に WAIT DATA 文が連結した場合と、連結しなかった場合の例を示します。
スクリプト受信データ挙動#WAIT DATA /ABC
ABCXYZ抜ける#WAIT DATA /XYZ
ABC123XYZ
抜けない
ABC123456
抜けない#WAIT DATA /ABC
ABCXYZ
抜ける#NOP
ABC123XYZ
抜ける#WAIT DATA /XYZ
ABC123456
最初の行だけ抜ける■■改訂■■改訂履歴■■改訂履歴■■
2020/03/03
2020/02/21

2.03
2.02

2020/01/29
2019/06/05

2.01
2.0

2015/04/21
2014/09/11

1.9
1.8

2013/06/27

1.7

2009/10/21
2008/07/03
2008/02/22
2007/04/25
2006/07/12

1.6
1.5
1.4
1.3
1.2

2005/03/24

1.1

ＳＤロガー４ V934X 以降への適応を記述。
ログ開始・停止機能を LSTART／LSTOP としていた間違いを訂正。
正しくは、PAUSE／RESUME。
ＣＦロガーの記述を削除。
ＳＤロガー４アドバンスト版の機種名を変更。
WAIT CLOCK 文、LSTART／LSTOP 文を追加。
（ＳＤロガー４ アドバンスト版に対応）
外部入力について、ＳＤロガー３、ＳＤロガー４の記述を追加。
f:LFEXT 文を追加。資料名にＳＤを追加。
f:OMIT 文を追加。LOG 文、書式に日付時刻を追加。
（ＳＤロガー３＜ＤＴ－ＭＣ０３、ＤＴ－ＭＣＫ３＞対応）
WAIT TIME 文の、時間精度に関する言及を追加。
時間経過が存在する文の説明に、FCHANGE 文を追加。
ファイル交換（FCHANGE）文を追加。
外部入力待機能（WAIT CTSON 文など）を追加。
f:STOPBITS 文を追加。
RTS 文を追加。
f:ENCODE 文を追加。
LOG 文を追加。
NOP 文と、WAIT DATA 文の連結を追加。

ＳＤロガースクリプト言語 リファレンス形式[X507018-11]9/9