Technology

API連携

(APIれんけい)

API連携とは、異なるソフトウェアやシステムが、あらかじめ定められた要求・応答の方法を用いてデータや機能を相互利用する仕組みです。製造現場では、ERP、MES、在庫管理、クラウドサービス、設備監視システムなどの間で情報を受け渡すために使用されます。

CSV連携がファイル単位の受渡しを中心とするのに対し、API連携では必要なタイミングでデータを要求し、その場で処理結果を受け取れます。製造指図の取得、計量実績の登録、在庫照会、異常通知などに利用できます。

ハカルプラスでは、接続先APIの仕様、認証方式、データ項目、通信断時の運用を確認し、産業用コンピュータやゲートウェイを介したAPI連携を検討します。

APIの役割

APIは、システム内部の処理やデータベース構造を直接公開せず、外部から利用できる操作とデータ形式を定めた窓口です。

例えば、製造指図を取得する、製造実績を登録する、特定ロットの在庫を照会するといった操作を提供します。

API連携の主な用途

  • ERP・MESから製造指図を取得する
  • 計量実績や生産実績を登録する
  • 原料・製品在庫を照会する
  • 設備異常を保全システムへ通知する
  • クラウドへ計測データを送信する
  • 品目、作業者、レシピなどのマスタを取得する

Web API

ネットワーク経由でHTTPやHTTPSを使用するAPIをWeb APIと呼びます。

製造システムでは、要求データを送信し、JSONなどの形式で処理結果を受け取る構成が多く使われます。接続先URL、通信方法、認証情報を設定します。

REST API

REST APIは、データや機能をリソースとして扱い、取得、登録、更新、削除などをHTTPの操作方法に対応させる設計方式です。

製造指図一覧の取得、特定指図の実績登録など、対象と操作を分かりやすく表現できます。

JSON形式

APIの送受信データには、JSON形式がよく使用されます。項目名と値の関係を表現でき、階層構造や配列も扱えます。

製造指図の中に複数の原料情報を含めるなど、CSVより複雑なデータを表現しやすい点が特長です。

APIから取得する情報

  • 製造指図番号、品種、予定数量
  • 原料コード、目標重量、許容誤差
  • 原料ロット、在庫数量、保管場所
  • 作業者・設備・品目マスタ
  • 前回実績、品質判定、承認状態

APIへ登録する情報

  • 製造開始・終了時刻
  • 良品数量、不良数量
  • 原料別計量実績
  • 製品ロット、使用原料ロット
  • 設備状態、異常、停止理由
  • 作業者、設定変更、承認情報

同期処理と非同期処理

要求を送信し、処理結果が返るまで待つ方式を同期処理と考えます。指図取得や在庫照会など、直ちに結果が必要な処理に適しています。

データを送信した後、受付だけを確認し、実際の処理結果を後で受け取る非同期処理もあります。大量データや時間のかかる処理に適しています。

認証

APIへ誰でも接続できる状態にすると、不正なデータ取得や登録が行われる可能性があります。

APIキー、ユーザーID・パスワード、アクセストークン、証明書などを使用して接続元を認証します。認証情報をプログラムへ平文で埋め込まないようにします。

通信の暗号化

製造情報や認証情報をネットワークで送る場合は、HTTPSなどを利用して通信を暗号化します。

サーバー証明書を確認し、意図した接続先であることを検証します。期限切れや証明書更新時の運用も決めます。

アクセス権限

設備側システムが利用できるAPIを必要最小限に限定します。

製造実績の登録だけが必要な設備へ、ユーザー管理や全在庫削除などの権限を与えないようにします。

タイムアウト

APIへ要求しても、ネットワーク障害やサーバー高負荷によって応答が返らない場合があります。

一定時間でタイムアウトし、設備制御を待たせ続けないようにします。指図取得失敗と実績登録失敗では、運転への影響が異なるため処理を分けます。

再送処理

一時的な通信エラーでは、一定時間後に再送することで復旧できる場合があります。

再送間隔、最大回数を設定し、短時間に大量の要求を送らないようにします。再送しても二重登録されない仕組みが必要です。

二重登録の防止

実績登録要求を送信した後、応答だけが失われると、設備側では失敗に見えてもサーバー側では登録済みの場合があります。

各実績に一意の識別子を付け、同じ識別子が再送された場合は新規登録せず、以前の処理結果を返す設計が有効です。

処理結果とエラーコード

APIは、成功・失敗だけでなく、失敗理由を返します。

未登録品目、指図状態不正、認証エラー、入力値範囲外などを区別し、画面へ具体的に表示します。通信エラーと業務上のエラーを分けることが重要です。

通信断時の一時保存

上位システムへ実績を送れない場合は、産業用コンピュータや設備内のストレージへ一時保存します。

通信復旧後に古い順から再送し、未送信件数、最古データ時刻、保存可能残数を表示します。

APIのバージョン管理

接続先システムの更新によって項目や処理方法が変わる場合があります。

APIのバージョンを明示し、旧版の提供終了時期を確認します。項目追加を受けても既存処理が停止しないデータ解析方法を検討します。

データ形式の確認

数値、文字列、日時、真偽値などの型を正しく扱います。

重量の単位、小数桁、タイムゾーン、未設定値の表現が一致していないと、誤登録や計算エラーにつながります。

大量データの扱い

長期間の履歴や多数の指図を一度に取得すると、通信量と処理時間が増えます。

ページ単位で取得する、日時や状態で絞り込む、差分だけを取得する方法を使用します。

設備制御との分離

API通信処理が遅れても、PLCのリアルタイム制御へ影響しない構成とします。

PLCは機械制御を継続し、産業用コンピュータやゲートウェイがAPI通信とデータ保存を担当する役割分担が考えられます。

セキュリティ更新

暗号化方式、ライブラリ、証明書には更新が必要です。

長期間使用する産業設備では、OSや通信ソフトの更新方法、更新後の接続試験、サポート期間を確認します。

ログと監査証跡

要求日時、接続先、データ識別子、処理結果、エラー内容をログへ保存します。

個人情報や認証トークンをそのままログへ出力しないようにしながら、障害調査に必要な情報を残します。

試験

正常通信だけでなく、タイムアウト、認証失敗、重複送信、項目不足、サーバー停止などを試験します。

通信復旧後の再送、データ順序、二重登録防止まで確認します。

異常時の確認

APIへ接続できない場合は、ネットワーク、接続先、証明書、認証情報、時刻を確認します。

データが登録されない場合は、要求内容、必須項目、単位、業務エラーコードを点検します。重複が起きる場合は、一意識別子と再送処理を確認します。

ハカルプラスの対応

ハカルプラスでは、ERP、MES、クラウドなどのAPI仕様を確認し、設備側で必要なデータ項目と送受信タイミングを検討します。

産業用コンピュータ、データベース、一時保存、再送、認証を組み合わせ、PLCや計量装置のデータを上位システムへ連携する構成に対応できる場合があります。

よくある質問

Q. PLCから直接Web APIを呼び出せますか?

A. 対応PLCでは可能な場合がありますが、認証や再送処理のため産業用コンピュータを介する構成も有効です。

Q. API連携とCSV連携の違いは何ですか?

A. APIは要求ごとに結果を受け取りやすく、CSVはファイル単位で一括連携しやすい点が主な違いです。

Q. 通信が切れた場合に実績は失われますか?

A. 設備側へ一時保存し、復旧後に再送することで欠落を防げます。

Q. 再送すると実績が二重登録されませんか?

A. 一意の実績番号を使用し、同じ要求を重複処理しない設計にします。

Q. 既存システムのAPI仕様に合わせられますか?

A. 認証、データ形式、通信条件を確認し、中間ソフトで変換できる場合があります。

関連ワード

お問い合わせ窓口

この技術について
お気軽にお問い合わせください。

お問い合わせフォーム
お問い合わせ