水道メーターからPostgreSQLへのポーリングとログ記録
RS232水道メーターからデータを読み取り、解析された値をデータベース構造に従ってPostgreSQLデータベースに直接エクスポートする完全ガイド。
1. プロトコル設定: 流量計・水道メーター
通信タイプ: アクティブポーリング(M-Bus / MODBUS)
産業用水道メーターは通常、レベルコンバータを介してRS232/RS485経由でM-Bus(Meter-Bus)を使用して通信します。「M-Busデータパーサー」プラグインを使用します。ロガーは特定のメーターアドレスにREQ_UD2(クラス2データ要求)フレームを送信し、パーサーは応答テレグラムをデコードして体積、流量、温度の各変数に変換します。
シリアル接続にこの基本設定を適用してください:
{
"port": "COM2",
"baud_rate": 2400,
"data_bits": 8,
"stop_bits": 1,
"parity": "even",
"protocol": "mbus_en13757",
"poll_interval_ms": 60000
}
水道メーターデータを読み取るためのM-Busプラグイン選択

M-Busプラグインの設定
流量計・水道メーター を PostgreSQL に接続する準備はできましたか?
2. データベース設定: PostgreSQL
Advanced Serial Data Loggerを実行するサーバーにPostgreSQL ODBCドライバー(psqlODBC)をインストールします。システムDSNを作成するか、SQL Database Professionalプラグインで「192.168.1.100:mydatabase」のような直接接続文字列を使用します。
次のSQLスクリプトを使用してターゲットテーブルを作成してください。 対象スキーマに対してユーザーロールにINSERT権限があることを確認してください。生のセンサーデータからの浮動小数点精度の損失を防ぐために、NUMERICデータ型を使用してください。
CREATE TABLE rs232_logs ( id SERIAL PRIMARY KEY, log_timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP, device_name VARCHAR(50), extracted_value NUMERIC(10, 2) );

PostgreSQLデータベースコネクタの選択。

PgSQLデータベース接続設定。

テーブルにデータを挿入するSQLキュー。
3. プロトコル固有のトラブルシューティング
- M-Busテレグラムの代わりに意味不明な16進データを受信する: M-Busは偶数パリティが必須です。データロガーのCOMポート設定を確認し、8データビット、1ストップビット、偶数パリティに設定されていることを確認してください。
- ロガーが期待されるHEXコードの代わりに読み取り不可能なデータ(奇妙な文字)を表示する: ロガー設定の「データ表示」モードを変更する必要があります。すべてのバイト範囲に対して「#XXとして表示」を選択してください。
- ロガーが読み取れる値は何ですか: M-Busを使用すると、ロガーは利用可能なすべての値を一度に読み取ることができます。ロガーはそれらを個別の値(変数)としてエクスポートします。
4. データベース固有のトラブルシューティング
- FATAL: パスワード認証に失敗しました: pg_hba.confファイルでData LoggerのIPアドレスからの接続が許可されていること(リモートの場合)、および認証方式がmd5またはscram-sha-256に設定されていることを確認してください。
- データベース内のすべてのレコードに、同じタイムスタンプの類似レコードが2つあります: 2つのデータエクスポートプラグインを同時に使用していないか確認してください。例えば、ODBC DatabaseとSQL Database Proは、データを並列にエクスポートできるためです。
- ODBCドライバーをインストールしてDSNを作成しましたが、ソフトウェアで選択できません。: 当社のソフトウェアには32ビットODBCドライバーが必要です。したがって、32ビットODBCアドミニストレーターでDSNを作成するには、このバージョンのドライバーをインストールする必要があります。「ODBC Database」プラグインの「Setup」ボタンを使用して行うことができます。