PLUM 法新電文対応試験ツール
PLUM Simulator
仕様書

Rev. 2.0
令和 4 年 10 月

株式会社 かなめ技術開発

更新履歴
Rev.

改定概要

日付

1.0

新規作成

2017/07/13

1.01

誤字修正（表 2-2、表 2-4、2.5.2）

2017/07/28

2.0・ 長周期地震動階級に基づく基準を追加した警報電文と地震

2022/10/20

動予報電文（新形式）の追加
・ 地震・津波関連情報の日本測地系から世界測地系への移行に伴う XML 電文フォーマット変更対応

－目 次－
1.

2.

概要 .......................................................................................................................................1
1.1.

目的 .................................................................................................................................... 1

1.2.

プログラム概要 .................................................................................................................. 1

1.3.

動作環境 ............................................................................................................................. 2仕様 .......................................................................................................................................3
2.1.

クライアント接続機能 ....................................................................................................... 3

2.2.

テスト電文送信機能 ........................................................................................................... 4

2.2.1.

今すぐ送信 .................................................................................................................. 4

2.2.2.

タイミングを指定して送信 ........................................................................................ 42.3.

画面表示機能 ...................................................................................................................... 52.4.

設定機能 ............................................................................................................................. 62.5.

ログ出力機能 ...................................................................................................................... 92.5.1.

通信ログ ..................................................................................................................... 92.5.2.

送信電文ログ ............................................................................................................ 102.5.3.

電文内容ログ ............................................................................................................ 102.6.

入力電文 ............................................................................................................................11

1. 概要
1.1. 目的
平成 30 年 3 月の PLUM 法開始以降の電文と、令和 5 年 2 月に予定されている長周期地震動階級に基づく基準を追加した警報電文と地震動予報電文（新形式）について、電文を受信したときの事業者サーバ・端末の動作確認のため、疑似電文を送信できる試験ツールを開発する。

1.2. プログラム概要
本プログラムは、以下の機能を持つ。
・ 本プログラムが TCP サーバとなり、クライアントからの接続要求を受け付ける。または逆に本プログラムが TCP クライアントとなる。
・ 通信手順は気象庁標準のものとする。
・ ユーザが指定したタイミングで、テスト用電文を読み込み、地震 ID・震源時刻・S 波到達時刻などの情報を変更した上で電文を送信する。
・ 送信用試験電文として、「ナウキヤスト 13」「ナウキヤストリアル 3」電文を用意する。
「キンキュウジシン 13」電文や XML 電文はこれらの電文からプログラム内で生成する。
・ VXSE45 または長周期地震動の予測情報を含む VXSE43 の送信のために、各報における長周期地震動予測情報を記載したファイルを読み込む。
「ナウキヤスト 13」電文とこのファイルから VXSE45 を生成する。
・ コード電文・XML 電文は選んで送信できるものとする。
・ コード電文送信では、1 つのポートで「ナウキヤスト 13」、「キンキユウジシン 13」を BCHv3で送信する（「ナウキヤスト 3」「キンキユウジシン 4」は送信しない）。別ポートで「ナウキヤストリアル 3」を BCHv4 で送信する。どの電文を送信するかは選択可とする。同一ポートでの送信も設定で可とする。また、両方のポートで「ナウキヤストテスト 1」、「ナウキヤストテスト 91」を BCHv3 で送信する。
・ XML 電文では、1 つのポートで VXSE44、VXSE43、VXSE45 を BCHv4 で送信する。別ポートで VXSE47 を BCHv4 で送信する。どの電文を送信するかは選択可とする。同一ポートでの送信も設定で可とする。また、両方のポートで VXSE42 を BCHv4 で送信する。
・ 移行措置電文ヘッダを使う設定で送信する時は、「ナウキヤスト 13」は「ナウキヤスト 3」として、「キンキユウジシン 13」は「キンキユウジシン 3」として、「VXSE44」は「VXSE41」として、「VXSE43」は「VXSE40」として送信する。
・ 最大５つまでの異なる地震情報を同時期に送信できるものとする。
・ プログラム動作はログに保存する。

-1-©2017-2022. KANAME Technological Development.

PLUM 法新電文対応試験ツール PLUM Simulator 仕様書

1.3. 動作環境
本プログラムは、下記の環境で動作することとする。
CPU

1 GHz 以上の 64bit プロセッサ

メモリ

1 GB 以上のメモリが利用できること。ただし、サイズの大きいデータを複数同時に送信する場合にはさらに必要になる可能性あり。

ハードディスク

20 GB 以上の空き容量

OS

Microsoft Windows 7, 8, 10, 11, Server 2016, Server 2019,
Server 2022

.NET Framework.NET Framework 4.8 上で動作

Ethernet

1 ポート以上

グラフィック

解像度 1024×768 以上-2-2. 仕様
本プログラムは、以下の機能を有する。

2.1. クライアント接続機能
・ 本プログラムが TCP サーバまたは TCP クライアントとなる。
・ 緊急地震速報（予報・警報）電文の送信用として 2 系統、リアルタイム震度電文の送信用として 2 系統、全 4 系統のソケットを使用する。また、緊急地震速報（予報・警報）電文の送信用ポート 2 系統から、リアルタイム震度電文を送信することも設定で可能とする。
・ 本プログラムが TCP サーバとなる場合は、送信先からの接続要求を待ち受ける IP アドレス・ポート番号を個別に指定する。
・ 本プログラムが TCP クライアントとなる場合は、送信先が待ち受けている IP アドレス・ポート番号を個別に指定する。
・ メニュー[接続開始]を選択すると、本プログラムが TCP サーバとなる場合は送信先からの接続要求の待ち受けを開始する。TCP クライアントとなる場合は、送信先への接続要求を試みる。
・ メニュー[接続停止]を選択すると、本プログラムが TCP サーバとなる場合は送信先との接続を切断し、待ち受け状態も終了する。TCP クライアントとなる場合は、送信先から切断する。
・ 設定機能で指定したヘルスチェック送信間隔でヘルスチェック信号を送信し、タイムアウト時間経過しても応答がない場合は、切断する。本プログラムが TCP サーバとなる場合は、待ち受け状態に戻る。TCP クライアントとなる場合は切断後再び接続要求を試みる。
・ 設定機能で指定した無通信時切断時間何も通信が行われない時は、切断する。その後の動作はタイムアウト時と同様とする。
・ 設定ダイアログで定時の時刻情報電文（コード電文選択時はナウキヤストテスト 1・ナウ
キヤストテスト 91、XML 電文選択時は VXSE42）を送信する設定にした場合には、全てのソケットら正時に時刻情報電文を自動生成して送信する。

図 2-1：メニュー[接続開始]と[接続停止]-3-©2017-2022. KANAME Technological Development.

PLUM 法新電文対応試験ツール PLUM Simulator 仕様書

2.2. テスト電文送信機能
テスト電文送信には、次の２つのモードがある。

2.2.1. 今すぐ送信
1 つの地震についての電文を第 1 報から最終報まで 1 回または繰り返し送信する機能である。送信対象電文のあるフォルダを指定すると、指定したフォルダ内にある電文を読み込み、電文を送信できる場合には【送信開始】ボタンが使用可能となる。
地震 ID・震源時刻・S 波到達時刻については送信開始のタイミングで自動的に現在時刻に変換される（自由に指定できない）。訓練・試験フラグについては通常・訓練・試験の中から選択でき、発信官署については本庁・大阪から選択できる。
「1 回のみ送信」を選択した場合は、【送信開始】ボタンを押した後第 1 報から最終報まで1 回送信され終了となる。
「繰り返し送信」を選択した場合は、【送信開始】ボタンを押した後第 1 報から最終報まで送信し、その後ここで指定した間隔（1～600 秒）経過するとまた第 1報から送信を始める。
【送信停止】ボタンまたは【キャンセル】ボタンを押すまで繰り返す。
【送信停止】ボタンを押すと、送りかけのまま最終報を送信せずに送信停止する。【キャンセル】ボタンを押すと、送りかけの電文についてキャンセル報を送信して送信終了する。

図 2-2：「今すぐ送信」画面

2.2.2. タイミングを指定して送信複数の地震がほぼ同時に発生したことをシミュレーションするためのモードである。最大 5つの地震についての第 1 報から最終報までを指定したタイミングで送信する。「今すぐ送信」と同様に送信対象電文のあるフォルダを指定し、訓練・試験フラグと発信官署を選択する。また、各地震について第 1 報を送信開始する時刻を指定する。
「電文時刻を変えずにそのまま使用する」を選択すると、読み込んだ電文の内容をそのまま送信し（あらかじめ決められた時間通りに決められた電文を送信したい場合に使用）、「送信開始時刻に合わせて時刻を自動変更する」を選択すると、「今すぐ送信」と同様に送信開始時刻を基準として地震 ID・震源時刻・S波開始時刻を送信する時刻に自動変換して送信する。
-4-

【予約セット】ボタンを押すと、指定したタイミングでテスト電文が送信される。
【送信停止】ボタンを押すと、送信途中であっても以後の送信を中止する。
【キャンセル】ボタンを押すと、送りかけの電文についてキャンセル報を送信して送信終了する。

図 2-3：「タイミングを指定して送信」画面

2.3. 画面表示機能
メイン画面上段には、テスト電文送信先との接続状態が示される。また、メイン画面中段にはテスト電文の送信状態が表示される。
表 2-1：テスト電文送信先との接続状態の表示
表示色

内容未使用

灰

サーバストップ状態または未使用状態。TCP サーバの場合は待ち受けを行わず、TCP クライアントの場合は接続要求を出さない。

接続青送信先と接続状態が確立している状態。

待機中緑

TCP サーバの場合で、待ち受けをしているが送信先からの接続要求が来ていない状態。

切断

赤TCP クライアントの場合で、送信先と接続できていない状態。
表 2-2：テスト電文の送信状態の表示

表示色

内容

準備中

灰

テスト対象機器と接続できる状態になっていない。テスト対象機器と接続できる状態になると、「送信可」となる。

送信可

青

テスト電文を送信していない状態。
「今すぐ送信」タブの【送信開始】
ボタンや「タイミングを指定して送信」タブの【予約セット】ボタンから送信開始できる。

送信中

橙

テスト電文を送信している状態。
【送信停止】ボタンを押すと、送りかけのまま最終報を送信せずに送信停止する。
【キャンセル】ボタンを押-5-©2017-2022. KANAME Technological Development.

PLUM 法新電文対応試験ツール PLUM Simulator 仕様書

すと、送りかけの電文についてキャンセル報を送信して送信終了する。
送信中の間は新たな電文を送信することはできない。

図 2-4：プログラム画面イメージ

2.4. 設定機能
各種設定は設定ダイアログで行う。設定項目を表 2-3 に、設定ダイアログを図 2-5 に示す。
表 2-3：設定ダイアログにおける設定項目
大項目

設定項目

内容

通信条件

TCP サーバ・

本プログラムが TCP サーバになるか TCP クライア

TCP クライアント

ントになるかを指定する。

緊急地震速報（予報・ チェックを入れると、4 系統で配信を行う。チェック警報）とリアルタイを外すと、緊急地震速報（予報・警報）の 2 系統でリ

ム震度を別系統で配アルタイム震度電文も送信する。

信
緊急地震速報

緊急地震速報(予報)電文・緊急地震速報(地震動予報)(予報・警報)電文（新形式）電文・緊急地震速報(警報)電文を送信するソケットの条件を指定する。2 系統あり、同じ情報が送信される。使用するソケットにチェックを入れる。TCP サーバの場合、待ち受ける IP アドレスとポ-6-

ート番号を指定する。TCP クライアントの場合、送信先の IP アドレスとポート番号を指定する。
リアルタイム震度

リアルタイム震度電文を送信するソケットの条件を指定する。2 系統あり、同じ情報が送信される。使用するソケットにチェックを入れる。TCP サーバの場
合、待ち受ける IP アドレスとポート番号を指定する。
TCP クライアントの場合、送信先の IP アドレスとポート番号を指定する。

ヘルスチェック送信

テスト電文送信先に定期的に送信するヘルスチェッ

間隔ク要求の間隔（0～7,200 秒）を指定する。0 秒を指定するとヘルスチェックを送信しない。

タイムアウト時間

本プログラムが送信したヘルスチェック要求に対して、ここで指定したタイムアウト時間応答がない場合は、ソケットを切断する。チェックポイントについても同様。0～300 秒を指定し、0 秒を指定するとタイムアウトのチェックを行わない。

無通信時切断時間

本プログラムとテスト電文送信先の間で、ここで指定する時間通信が全く行われない時、ソケットを切断する。0～7,200 秒を指定し、0 秒を指定すると無通信判定を行わない。

ログ出力条件本プログラムとテスト電文送信先の間のやりとりについてログ出力する場合には、ログファイルの出力先を指定する。

送信電文種コード電文・XML 電

テスト電文送信先に送信する電文の形式を選択する。

別文

ここで選択した電文の形式で 4 系統に送信される。

ナウキヤスト 13・

緊急地震速報(予報)電文を「緊急地震速報(予報・警VXSE44報)」ソケットから送信する場合には、チェックを入れる。

キンキユウジシン

緊急地震速報(警報)電文を「緊急地震速報(予報・警13報)」ソケットから送信する場合には、チェックを入れ・VXSE43

る。

VXSE45緊急地震速報(地震動予報)電文（新形式）を「緊急地震速報(予報・警報)」ソケットから送信する場合には、チェックを入れる。

ナウキヤストテスト

定時の時刻情報電文を「緊急地震速報(予報・警報)」

1/91・VXSE42

ソケットと「リアルタイム震度」ソケットから送信する場合には、チェックを入れる。時刻情報電文は本プ
ログラム内で自動生成される。
-7-©2017-2022. KANAME Technological Development.

PLUM 法新電文対応試験ツール PLUM Simulator 仕様書ナウキヤストリアル

リアルタイム震度電文を「リアルタイム震度」ソケッ

3・VXSE47

トから（別系統を選択しなかったときは「緊急地震速報(予報・警報)」ソケットから）送信する場合には、チェックを入れる。

移行措置電文ヘッダを使う

移行措置電文を送信したいときにチェックを入れる。
「ナウキヤスト 13」電文は「ナウキヤスト 3」電文として、「キンキユウジシン 13」電文は「キンキユウジシン 3」電文として、「VXSE44」電文は「VXSE41」電文として、「VXSE43」電文は「VXSE40」電文として送信される。

長周期地震動階級予測の追加

VXSE43 について、長周期地震動階級の予測情報を含む電文を作成する場合にはチェックを入れる。

世界測地系対応

XML 電文送信で世界測地系の電文として送信する場
合にはチェックを入れる。

図 2-5：設定ダイアログ-8-

2.5. ログ出力機能
本プログラムとテスト電文送信先との間の通信内容をテキストファイルに出力する。また、送信した電文そのものや、圧縮前の電文の内容についてもログファイルとして保存する。

2.5.1. 通信ログ
本プログラムとテスト電文送信先との間の通信内容を記録する。設定ダイアログで指定したディレクトリの下の CommLog フォルダ内に 1 日に 1 ファイル作成される。2017 年 7 月 11日であれば、20170711.log という名称になる。ログファイルに記載される内容は下表の通り。
表 2-4：通信ログ記載内容種類
通信状態変化

書式

内容

時刻(HH:mm:ss.fff) [系統]（TCP サーバのとき） [IP アドレス:ポート番号]
[状態]

[系統]
1: 緊急地震速報(予報・警報)1 系
2: 緊急地震速報(予報・警報)2 系
3: リアルタイム震度 1 系
4: リアルタイム震度 2 系[IP アドレス:ポート番号]
Start, Stop のとき: 待ち受けする IP
アドレス・ポート番号
Connect, Disconnect のとき: 接続先の IP アドレス・ポート番号[状態]
Start: TCP サーバ待受開始
Stop: TCP サーバ待受終了
Connect: TCP 接続開始
Disconnect: TCP 接続切断

通信状態変化

時刻 [系統] [IP アドレス:[IP アドレス:ポート番号]（TCP クライアント

ポート番号] [状態]

接続先の IP アドレス・ポート番号[状態]のとき）

Connect: TCP 接続開始
Disconnect: TCP 接続切断
TryConnect: TCP 接続要求しているが失敗
データ受信

時刻 [系統] [IP アドレス:[IP アドレス:ポート番号]

ポート番号] Rcv [データ種

接続先の IP アドレス・ポート番号

類] [電文順序番号][データ種類]
AnsHealthChk:ヘルスチェック応答
HealthChk:ヘルスチェック要求-9-©2017-2022. KANAME Technological Development.

PLUM 法新電文対応試験ツール PLUM Simulator 仕様書

CheckPoint:電文送信に対するチェ
ックポイントUnknown: 未定義のデータ[電文順序番号]
チェックポイント受信時に、対応する送信電文の電文順序番号（BCH の第2 オクテット～第 4 オクテット）
データ送信完了

時刻 [系統] [IP アドレス:[IP アドレス:ポート番号]

ポート番号] Snd [データ接続先の IP アドレス・ポート番号種類] [電文順序番号][データ種類]
AnsHealthChk:ヘルスチェック応答
HealthChk:ヘルスチェック要求
Text_NeedAns:テキスト形式の電文
Binary_NeedAns:バイナリ形式の電文[電文順序番号]
送信電文の電文順序番号（BCH の第2 オクテット～第 4 オクテット）

データ送信開始

時刻 [系統] [IP アドレス:[IP アドレス:ポート番号]

ポート番号] SndStart [電接続先の IP アドレス・ポート番号

文ヘディング] [電文順序[電文ヘディング]番号]

送信する電文ヘディングの内容[電文順序番号]
送信電文の電文順序番号（BCH の第2 オクテット～第 4 オクテット）

2.5.2. 送信電文ログ
本プログラムからテスト電文送信先に送信したヘルスチェック以外の電文を記録する。設定
ダイアログで指定したディレクトリの下の TelegramLog フォルダ内に、さらに 1 日ごとのフォルダ（2017 年 7 月 11 日であれば、「20170711」）が作成され、その中に送信した電文（ソケットヘッダから本文の最後まで。圧縮されている場合は圧縮されているまま保存。
）を保存する。ファイル名は、[YYYYMMDD]-[HHmmss]_[系統]_[電文順序番号]datとし、[YYYYMMDD]-[HHmmss]は送信時刻の年月日時分秒を示す。ファイル名の[系統]、[電文順序番号]から、通信ログでどの送信に該当するかを知ることができる。

2.5.3. 電文内容ログ本プログラムからテスト電文送信先に送信したヘルスチェック以外の電文の内容を記録す-10-

る。送信電文ログでは、本文が圧縮されている場合にその内容の確認が難しいため、本ログでは気象データ本文の圧縮前のものをファイル出力している。
設定ダイアログで指定したディレクトリの下の InfoLog フォルダ内に、さらに 1 日ごとのフォルダ（2017 年 7 月 11 日であれば、「20170711」）が作成され、その中に気象データ本文（コード電文の場合は電文種別コードから末尾符号まで、XML 電文の場合は XML 部分）を保存する。ファイル名は、
コード電文の場合：[地震 ID]_[報数]_[電文ヘッディングのデータ種別コード].txt
XML 電文の場合：[地震 ID]_[報数]_[電文ヘッディングのデータ種別コード].xml
である。

2.6. 入力電文
本プログラムで使用する試験電文は以下の構成とする。緊急地震速報（予報）電文とsendtime.csv は 必 須 で あ る が 、 リ ア ル タ イ ム 震 度 電 文 と 長 周 期 地 震 動 予 測 情 報（ForecastLgInt.csv）については任意である。
Nowcast ディレクトリに緊急地震速報（予報）電文の第 1 報から最終報までを配置する。
NowcastReal ディレクトリにリアルタイム震度電文の第 1 報から最終報までを配置する。いずれもコード電文で、電文種別コードから末尾符号までとする。図 2-6 の例は 7 報で構成されている場合を示す。
ForecastLgInt.csv には、第 1 報から最終報までの長周期地震動予測情報を記述する。震度3 以下かつ長周期地震動階級 1 または 2 の場合は緊急地震速報(地震動予報)電文（新形式）のみの送信となるが、この場合は予測震度・到達予想時刻の情報を付加することにより実現する。
各項目に記載された内容で定義上ありえない値が記されている場合はその行を読み飛ばすため、出力電文には反映されない。sendtime.csv には、第 1 報から最終報までの送信時刻を記述する。0.1 秒単位に指定することができる。
[地震ごとのディレクトリ] ┬ Nowcast ┬ [地震 ID]_01.txt│├ [地震 ID]_02.txt

│

├ …

│├ …

│

└ [地震 ID]_07.txt├ NowcastReal ┬ [地震 ID]_Real_01.txt│├ [地震 ID]_Real_02.txt│├ …

│└ [地震 ID]_Real_07.txt├ ForecastLgInt.csv└ sendtime.csv
図 2-6：入力電文の構成-11-©2017-2022. KANAME Technological Development.

PLUM 法新電文対応試験ツール PLUM Simulator 仕様書#No, Code, ForecastLgInt-From, ForecastLgInt-To, Intensity, Time
1, 300, 3, 4
1, 301, 3, 3
1, 302, 2, 3
1, 303, 1, 2, 03//, 212639
2, 300, 3, 42, 301, 3, 3
2, 302, 2, 3
1, 303, 1, 2, 0302, //////…
図 2-7：長周期地震動予測情報（ForecastLgInt.csv）の記述例#No, Time
1, 2016/04/14 21:26:38.0
2, 2016/04/14 21:26:39.5
3, 2016/04/14 21:26:40.1
4, 2016/04/14 21:26:41.2
5, 2016/04/14 21:26:42.1
6, 2016/04/14 21:26:48.5
7, 2016/04/14 21:27:08.0
図 2-8：送信時刻定義（sendtime.csv）の記述例-12-