実験機器からPostgreSQLへのポーリングとログ記録
RS232実験機器からデータを読み取り、解析された値をデータベース構造に従ってPostgreSQLデータベースに直接エクスポートする完全ガイド。
1. プロトコル設定: 研究室機器
通信タイプ: パッシブリスニング / 双方向(RS232またはUSB仮想COM)
分光光度計、滴定装置、血液分析装置は、専用のASCIIフォーマットやASTM E1381/E1394プロトコルを使用することが多いです。機器が生のASCIIを出力する場合は、「ASCIIデータパーサー」を使用します。ASTMを使用する場合は、専用の「ASTMデータパーサー」プラグインを使用して、ヘッダー(H)、患者(P)、オーダー(O)、結果(R)の各レコードを正しく展開する必要があります。
シリアル接続にこの基本設定を適用してください:
{
"port": "COM4",
"baud_rate": 9600,
"data_bits": 8,
"stop_bits": 1,
"parity": "none",
"parser_type": "astm_e1381",
"ack_nak_handshake": true
}
研究室機器データパーサー

ASTMプロトコルパーサー設定
研究室機器 を 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. プロトコル固有のトラブルシューティング
- 機器が全くデータを送信しない: 機器によっては、「印刷」ボタンを押したときだけにデータを送信するか、ホストコンピューターからの特別なコマンドを必要とします。
- 機器が1つのレコードを送信した後、送信を停止する: 多くの研究室機器は、データブロックを受信した後にACK(確認応答)文字を必要とします。データロガーで「ACK/NAKハンドシェイク」機能を有効にすると、応答が返され、機器は次のバッチを送信するよう促されます。
- プログラムがすべてのデータを抽出しない。一部のフィールドが欠落している: デフォルトでは、ロガーは重要なデータのみを抽出します。ASCIIデータパーサープラグインを使用して自分のパーサーを作成するか、サポートチームにお問い合わせください。
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」ボタンを使用して行うことができます。