myCalibration Documentation Page

The platform for your KELLER sensor calibration data

KELLER myCalibration Logo

目次

  1. 概要
  2. Webアプリケーション
  3. Web API
  4. JSONスキーマ
  5. サンプルソフトウェア
  6. よくある質問(FAQ)
  7. ロードマップ
  8. リリースノート

1. 概要

KELLERの「myCalibration」は、KELLERの顧客向けのデータプラットフォームです。「myCalibration」を通じて、顧客はKELLERセンサーのデジタル校正データにアクセスできます。

データ

Web App UI

内容

「myCalibration」は、様々なKELLER製トランスデューサおよびトランスミッターのデータを取り扱うために設計されています。例えば、数学的補正モデルの情報やXライン送信機の校正データを保持できます。

形式

校正データはJSONファイル形式で提供されます。この形式は広く普及しており、多くのプログラミングライブラリが利用可能なため、顧客のソフトウェアへの統合が簡単かつ迅速に行えます。また、JSONデータはテキストエディターで簡単に確認できます。

構造

JSONファイルの構造はJSONスキーマで定義されており、このスキーマは公開されているため、顧客ソフトウェアへの完全な統合が可能です。

アクセス方法

Webアプリケーション

標準のウェブブラウザからアクセス可能なユーザーインターフェースを通じて、顧客はセンサーの校正データにアクセスできます。顧客データは個別のログイン後にのみアクセス可能で、他のユーザーからは閲覧できません。

検索・フィルタリング機能を用いて、ユーザーは個別に選択したセンサーの校正データをダウンロードしたり、複数のデータセットを一括でダウンロードしたりできます。

Web API

REST APIが自動化されたアクセスのために提供されています。顧客はこのAPIをプロセスに統合することができます。例えば、新たに受け取ったセンサーの校正データを自動的にダウンロードし、生産プロセスに統合することができます。


2. Webアプリケーション

WebアプリケーションのURL:https://mycalibration.azurewebsites.net/

無料のデモユーザーアカウントが利用可能です。

サインアップとサインイン

ユーザーアカウントの登録は engineering@keller-pressure.com にお問い合わせください。

デモデータを閲覧するための無料のデモアカウントが既に提供されています。

login example


3. Web API

Web APIのURLは https://mycalibrationapi.azurewebsites.net です。

OpenAPI仕様ページは https://mycalibrationapi.azurewebsites.net/swagger/index.html です。

すべての校正データは以下の形式でエクスポートできます。

SwaggerのJSONファイルは https://mycalibrationapi.azurewebsites.net/swagger/v1/swagger.json から取得できます。

主なAPIエンドポイント

GET /v1/CalibrationData/Headers

利用可能な校正データのメタ情報(ヘッダー部分)を返します。ヘッダーデータを参照。

名前 パラメータ 説明 必須
skip query 任意。指定した行数分スキップします。Takeの逆です。 いいえ integer
take query 任意。最初の指定した数のメタ情報だけ取得します。Skipの逆です。指定しない場合、すべての行を取得します。 いいえ integer

GET /v1/CalibrationData

校正データ全体をJSON形式で返します。フィルターパラメータも利用できます。

GET /v1/CalibrationData/Export

フィルタ済みの校正データをZIP(またはBROTLI)ファイルとしてエクスポートします。ダウンロードリンクが返されます。現在Brotliファイルタイプはサポートされていません。

名前 パラメータ 説明 必須
fileType query 1=すべての校正データを1つのJSONリストにまとめる 2=まとめたJSONをZIP圧縮 3=各校正データごとにJSONファイル化して1つのZIPに圧縮 4=同じくBrotli圧縮 いいえ ExportFileType

※その他すべてのフィルターパラメータも使用可能

GET /v1/CalibrationData/Count

オプションの検索パラメータに基づき、校正データセットの件数を返します。フィルター/検索パラメータを参照。 パラメータがnullの場合、アカウントがアクセスできるすべてのセンサー数を返します。 これにより、指定した条件で何件取得されるかをすぐ確認できます。

GET /v1/CalibrationData/List

オプションの検索パラメータで定義された校正データセットのすべての識別子文字列リストを取得します。フィルター/検索パラメータ参照。 これらの識別子(IncludedIds)はGET /v1/CalibrationDataのクエリのフィルターパラメータとして利用可能です。

GET /v1/CalibrationData/New

指定した日時(since)以降にmyCalibrationに保存されたすべてのデータを取得します。データは多くの場合、スイスからの出荷開始日の1日前に保存されます。これは出荷日と一致することもありますが、異なる場合もあります。

名前 パラメータ 説明 必須
since query UTC日時。この時刻より新しいすべてのデータ はい integer

PUT /v1/CalibrationData/New

注意:本エンドポイントは十分な知識がある場合のみご利用ください。不明な場合は engineering@keller-pressure.com までご連絡ください。 すべての新規データを取得します。「新規データ」とは、このリクエストで一度も取得されていない校正データを指します。2回目のリクエストでは空になる場合があります。 新規データが保存できなかった場合は、countOfHoursDataWasAlreadyRequestedで指定時間分過去のデータも再取得できます。 countOfHoursDataWasAlreadyAssignedも利用可能です。

名前 パラメータ 説明 必須
take query   いいえ integer
countOfHoursDataWasAlreadyRequested query   いいえ integer
countOfHoursDataWasAlreadyAssigned query   いいえ integer

MefistoViewModel

Mefisto = MEtainfo for FIle STOrage 例:

{
  "id": 28651,
  "customerName": "DemoData Inc.",
  "customerNumber": 12345678,
  "subCustomerNumber": 0,
  "remarks": "",
  "serialNumber": "23650",
  "productNumber": "123856.1113",
  "productType": "PA-23R",
  "pressureType": "Pa",
  "productSeries": "23R",
  "compensatedTemperatureRangeMin": 15.0,
  "compensatedTemperatureRangeMax": 70.0,
  "compensatedTemperatureRangeUnit": "C",
  "compensatedPressureRangeMin": 0.0,
  "compensatedPressureRangeMax": 1.0,
  "compensatedPressureRangeUnit": "Bar",
  "electricSupplyMin": 4.5,
  "electricSupplyMax": 24.0,
  "electricSupplyMagnitude": 0.0,
  "electricSupplyUnit": "V",
  "orderNumber": 9990740,
  "orderPosition": 1,
  "orderTargetDispatchDate": "2017-05-26T00:00:00",
  "customerOrderNumber": "Cust-9990740-123",
  "customerReferenceNumber": "ABC",
  "customerProductType": "123451-1113",
  "subCustomerOrderNumber": null,
  "subCustomerOrderPosition": null,
  "assignedToSubCustomerDateUtc": null
}
項目名 説明
Id Integer 内部ID
CustomerName String 顧客名
CustomerNumber Integer KELLER顧客識別番号
SubCustomerNumber Integer 顧客の顧客用KELLER顧客識別番号
Remarks String ファイル作成日(UTC)
SerialNumber String KELLER製品シリアル番号
ProductNumber String KELLER製品番号
ProductType String KELLER製品タイプ
PressureType String KELLER製品圧力タイプ
ProductSeries String KELLER製品シリーズ
CompensatedTemperatureRangeMin Double センサー特性が補償されている温度範囲の最小値
CompensatedTemperatureRangeMax Double センサー特性が補償されている温度範囲の最大値
CompensatedTemperatureRangeUnit String センサー特性が補償されている温度範囲の単位
CompensatedPressureRangeMin Double センサー特性が補償されている圧力範囲の最小値
CompensatedPressureRangeMax Double センサー特性が補償されている圧力範囲の最大値
CompensatedPressureRangeUnit String センサー特性が補償されている圧力範囲の単位
ElectricSupplyMin Double 公称電源電圧の最小値
ElectricSupplyMax Double 公称電源電圧の最大値
ElectricSupplyMagnitude Double 公称電源の大きさ
ElectricSupplyUnit String 公称電源の単位
OrderNumber Integer KELLERの注文番号
OrderPosition Integer KELLERの注文ポジション
OrderTargetDispatchDate Date 注文の予定出荷日
CustomerOrderNumber String 顧客の内部注文番号
CustomerReferenceNumber String 顧客の内部参照番号
CustomerProductType String 顧客の内部製品タイプ
SubCustomerOrderNumber String サブ顧客のための顧客発行の請求書番号
SubCustomerOrderPosition String サブ顧客に関する追加注文詳細(例:「請求書行」など)
AssignedToSubCustomerDateUtc Date データがサブ顧客に割り当てられたタイムスタンプ

フィルターパラメータ

項目名 指定場所 説明 必須 スキーマ
IncludedIds query nullの場合:「すべて選択」または一部が除外(ExcludedIdsに記載)/nullでない場合:ここに記載されたもののみ選択される。他は選択不可。IncludedIdsとExcludedIdsの両方に値を持つことはできません。どちらか一方または両方ともnullでなければなりません。リストは最大50件まで。超えるとエラー。 いいえ [ string ]
ExcludedIds query nullの場合:「すべて選択」または一部のみが選択(IncludedIdsに記載)/nullでない場合:ここに記載されたもの以外はすべて選択される。IncludedIdsとExcludedIdsの両方に値を持つことはできません。どちらか一方または両方ともnullでなければなりません。リストは最大50件まで。超えるとエラー。 いいえ [ string ]
OrderNumbers query 注文番号のリスト いいえ [ string ]
OrderPositions query 注文ポジションのリスト いいえ [ string ]
DateFilterType query ‘equals’, ‘greaterThan’, ‘lessThan’, ‘notEqual’, ‘inRange’ のいずれか。’inRange’のときはDateToが必要。
例1:「2021-08-01以降のすべてのデータ」=https://mycalibrationapi.azurewebsites.net/v1/CalibrationData?DateFilterType=greaterThan&Date=2021-08-01
例2:「2020年のすべてのデータ」=https://mycalibrationapi.azurewebsites.net/v1/CalibrationData?DateFilterType=inRange&Date=2021-01-01&DateTo=2021-12-31
例3:「1月1日と2月1日のすべてのデータ」=https://mycalibrationapi.azurewebsites.net/v1/CalibrationData?DateFilterType=equals&Date=2021-01-01&Date=2021-02-01
いいえ string
Date query 出荷日(yyyy-MM-dd 形式、例: "2021-12-24")。通常は1つのみだが、複数日取得も可能。この場合DateFilterTypeは’equals’かつDateToはnull。 いいえ [ string ]
DateTo query DateFilterType=’inRange’時に使用。’Date’から’DateTo’までのデータを取得。日付形式は’yyyy-MM-dd’(例: "2021-12-24") いいえ string
CustomerProductTypes query [Blanks]を検索するには「blank」を使用 いいえ [ string ]
PressureTypes query 例: ["pa","paa","pr"] すべての列挙型はhttps://mycalibration.github.io/#filter-parameters参照 いいえ [ string ]
ProductSeries query 例: ["10LHP","25Y","46X","K-102"] いいえ [ string ]
ProductNumbers query   いいえ [ string ]
SerialNumberSearchText query このテキストを含むシリアル番号すべてを検索 いいえ string
PressureMinFilterType query ‘equals’, ‘greaterThan’, ‘lessThan’, ‘notEqual’, ‘inRange’, ‘lessThanOrEqual’, ‘greaterThanOrEqual’のいずれか。’inRange’の場合はPressureMinToが必要 いいえ string
PressureMin query 「最小圧力」の下限値(排他的) いいえ double
PressureMinTo query 「最小圧力」の上限値(排他的)。PressureMinFilterTypeが’inRange’のとき使用。’PressureMin’から’PressureMinTo’の間のデータを取得。日付形式は’yyyy-MM-dd’(例: "2021-12-24") いいえ double
PressureMaxFilterType query ‘equals’, ‘greaterThan’, ‘lessThan’, ‘notEqual’, ‘inRange’, ‘lessThanOrEqual’, ‘greaterThanOrEqual’のいずれか。’inRange’の場合はPressureMaxToが必要 いいえ string
PressureMax query 「最大圧力」の下限値(排他的) いいえ double
PressureMaxTo query 「最大圧力」の上限値(排他的)。PressureMaxFilterTypeが’inRange’のとき使用。’PressureMax’から’PressureMaxTo’の間のデータを取得。日付形式は’yyyy-MM-dd’(例: "2021-12-24") いいえ double
PressureUnit query 圧力単位のリスト いいえ [ string ]
TemperatureMinFilterType query ‘equals’, ‘greaterThan’, ‘lessThan’, ‘notEqual’, ‘inRange’, ‘lessThanOrEqual’, ‘greaterThanOrEqual’のいずれか。’inRange’の場合はTemperatureMinToが必要 いいえ string
TemperatureMin query 「最小温度」の下限値(排他的) いいえ double
TemperatureMinTo query 「最小温度」の上限値(排他的)。TemperatureMinFilterTypeが’inRange’のとき使用。’TemperatureMin’から’TemperatureMinTo’の間のデータを取得。日付形式は’yyyy-MM-dd’(例: "2021-12-24") いいえ double
TemperatureMaxFilterType query ‘equals’, ‘greaterThan’, ‘lessThan’, ‘notEqual’, ‘inRange’, ‘lessThanOrEqual’, ‘greaterThanOrEqual’のいずれか。’inRange’の場合はTemperatureMaxToが必要 いいえ string
TemperatureMax query 「最大温度」の下限値(排他的) いいえ double
TemperatureMaxTo query 「最大温度」の上限値(排他的)。TemperatureMaxFilterTypeが’inRange’のとき使用。’TemperatureMax’から’TemperatureMaxTo’の間のデータを取得。日付形式は’yyyy-MM-dd’(例: "2021-12-24") いいえ double
TemperatureUnit query 温度単位のリスト いいえ [ string ]
SupplyMinFilterType query ‘equals’, ‘greaterThan’, ‘lessThan’, ‘notEqual’, ‘inRange’, ‘lessThanOrEqual’, ‘greaterThanOrEqual’のいずれか。’inRange’の場合はSupplyMinToが必要。Min/MaxまたはMagnitudeどちらかが使用される いいえ string
SupplyMin query 「最小電源」の下限値(排他的)。Min/MaxまたはMagnitudeどちらかが使用される いいえ double
SupplyMinTo query 「最小電源」の上限値(排他的)。SupplyMinFilterTypeが’inRange’のとき使用。’SupplyMin’から’SupplyMinTo’の間のデータを取得。日付形式は’yyyy-MM-dd’(例: "2021-12-24")。Min/MaxまたはMagnitudeどちらかが使用される いいえ double
SupplyMaxFilterType query ‘equals’, ‘greaterThan’, ‘lessThan’, ‘notEqual’, ‘inRange’, ‘lessThanOrEqual’, ‘greaterThanOrEqual’のいずれか。’inRange’の場合はSupplyMaxToが必要。Min/MaxまたはMagnitudeどちらかが使用される いいえ string
SupplyMax query 「最大電源」の下限値(排他的)。Min/MaxまたはMagnitudeどちらかが使用される いいえ double
SupplyMaxTo query 「最大電源」の上限値(排他的)。SupplyMaxFilterTypeが’inRange’のとき使用。’SupplyMax’から’SupplyMaxTo’の間のデータを取得。日付形式は’yyyy-MM-dd’(例: "2021-12-24")。Min/MaxまたはMagnitudeどちらかが使用される いいえ double
SupplyMagnitudeFilterType query ‘equals’, ‘greaterThan’, ‘lessThan’, ‘notEqual’, ‘inRange’, ‘lessThanOrEqual’, ‘greaterThanOrEqual’のいずれか。’inRange’の場合はSupplyMagnitudeToが必要。Min/MaxまたはMagnitudeどちらかが使用される いいえ string
SupplyMagnitude query 「電源大きさ」の下限値(排他的)。Min/MaxまたはMagnitudeどちらかが使用される いいえ double
SupplyMagnitudeTo query 「電源大きさ」の上限値(排他的)。SupplyMagnitudeFilterTypeが’inRange’のとき使用。’SupplyMagnitude’から’SupplyMagnitudeTo’の間のデータを取得。Min/MaxまたはMagnitudeどちらかが使用される いいえ double
SupplyUnit query 電源単位のリスト いいえ [ string ]
CustomerReferenceNumberSearchText query この検索テキストを含むすべてのデータを取得 いいえ string
CustomerOrderNumberSearchText query この検索テキストを含むすべてのデータを取得 いいえ string
RemarksSearchText query この検索テキストを含むすべてのデータを取得 いいえ string

フィルターパラメータ - 物理単位 & 圧力タイプ

フィルターパラメータ - 物理単位 : PressureUnit, TemperatureUnit, SupplyUnit

UIやJSON上で「%FS」と表示されている場合でも、APIパラメータでは「Fs」を使います。

 ________________________
|          |             |
|  単位     | API文字列   |
|__________|_____________|
|  %FS     |  Fs         |
|  A       |  A          |
|  K       |  K          |
|  MOhm    |  MOhm       |
|  MPa     |  MPa        |
|  Ohm     |  Ohm        |
|  Pa      |  Pa         |
|  Torr    |  Torr       |
|  V       |  V          |
|  VDC     |  VDC        |
|  atm     |  Atm        |
|  bar     |  Bar        |
|  cmH2O   |  CmH2O      |
|  cmHg    |  CmHg       |
|  ftH2O   |  FtH2O      |
|  hPa     |  HPa        |
|  inH2O   |  InH2O      |
|  inHg    |  InHg       |
|  kN/m2   |  KNM2       |
|  kOhm    |  KOhm       |
|  kPa     |  KPa        |
|  kp/cm2  |  KpCm2      |
|  lbf/ft2 |  LbfFt2     |
|  mA      |  MA         |
|  mH2O    |  MH2O       |
|  mV      |  MV         |
|  mV/V    |  MVV        |
|  mV/mA   |  MVMA       |
|  mbar    |  Mbar       |
|  mmH2O   |  MmH2O      |
|  mmHg    |  MmHg       |
|  psi     |  Psi        |
|  °C      |  C          |
|________________________|
フィルターパラメータ - 圧力タイプ

UIやJSON上で「PA」と表示されている場合でも、APIパラメータでは「Pa」を使います。

 ______________________
|        |             |
|  単位  |  API文字列  |
|________|_____________|
|  PA    |  Pa         |
|  PAA   |  Paa        |
|  PD    |  Pd         |
|  PR    |  Pr         |
|  PRD   |  Prd        |
|______________________|

クエリ例

詳細は https://github.com/mycalibration/mycalibration.github.io をご参照ください。

OpenAPI/Swaggerスキーマからクライアントソフトウェアを生成する

https://editor.swagger.io/ を使用してください。
Swagger/OpenAPIのインポートURLはこちら:https://mycalibrationapi.azurewebsites.net/swagger/v1/swagger.json

Permanent Access Token(永続アクセストークン)によるAPIアクセス

トークンには2種類あります。Permanent Access Token(永続アクセストークン)とTemporary Access Token(一時アクセストークン)です。

Temporary Access Tokenを使うと、Swagger/OpenAPI UI経由でログイン後、数時間APIでデータ取得が可能です。

Permanent Access Tokenは、手動ログイン不要でプログラムからAPIにアクセスする際に使用します。

一時アクセストークン(Temporary Access Token)

一時アクセストークンは、プロフィール設定画面から取得できます:
プロフィール設定

Swagger/OpenAPI UIの「Authorize」ボタンをクリックし、一時アクセストークンを入力します。
プロフィール設定

永続アクセストークン(Permanent Access Token)

現在、永続アクセストークンはKELLERのmyCalibrationサポートチーム engineering@keller-pressure.com から直接申請が必要です。

提供されたアクセストークンは、すべてのリクエストのヘッダーに ‘userOid’ キーとして追加してください。これによりBearerトークンやOAuth 2フローは不要になります。 Permanent Access Tokenの使用

APIテストには、Postman、Insomnia、curlなどのツールが利用できます。
多くのプログラミング例が Github に掲載されています。 C#によるサンプル:

 var url         = "https://mycalibrationapi.azurewebsites.net/v1/CalibrationData/Headers";
 var httpRequest = (HttpWebRequest)WebRequest.Create(url);
 
 // userOidキーで永続アクセストークンをヘッダーに追加
 httpRequest.Headers["userOid"] = "eyJhbGciOiJIUzI1NiIsInR....";
 
 string resultJsonText;
 HttpWebResponse httpResponse = (HttpWebResponse)httpRequest.GetResponse();
 using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
 {
   resultJsonText = streamReader.ReadToEnd();
 }

4. JSONスキーマ

スキーマは こちら からJSON Schemaとしてダウンロードできます。また、こちら で様々なファイル形式に変換できます。

ルートオブジェクト 説明
Version スキーマのバージョン文字列(セマンティックバージョニング、例:”1.0.0”)
Header センサーデータを特定するためのメタ情報
CompensationMethods MathModデータ
Measurements T/P校正カーブの測定点

ログイン例

ルートオブジェクト オブジェクト スキーマ説明 詳細
version *   対応するJSONスキーマのバージョン セマンティックバージョニング形式のバージョン string “1.0.0”
header *   ヘッダー情報 測定データ(measurements)を特定・管理するためのメタ情報    
  creationDate ファイル作成日   string “2022-03-22”
  orderTargetDispatchDate * 注文の予定出荷日   string “2022-03-15”
  orderNumber * KELLERの注文番号   int 9990016
  orderPosition * KELLERの注文ポジション   int 3
  customerProductType * 顧客内製品タイプ   string “9990016-123”
  pressureType * 圧力タイプ   string “PAA”
  productSeries * KELLER製品シリーズ   string “33X”
  productType * KELLER製品タイプ   string “PAA-33X”
  productNumber * KELLER製品番号   string “1234567.0001”
  serialNumber * KELLERシリアル番号   string “I123456”
  compensatedPressureRange * センサー特性が補償されている圧力範囲   object {“max”: 1.0, “min”: 0.0, “unit”: “bar”}
  compensatedTemperatureRange * センサー特性が補償されている温度範囲   object {“max”: 70.0, “min”: 15.0, “unit”: “°C”}
  electricSupply * 公称電源   object {“unit”:”V”,”max”:24.0,”min”:4.5}
  customerReferenceNumber * 顧客の内部参照番号   string “Jane Doe”
  remarks * 備考   string ””
  customerName * 顧客名   string “DemoData Inc.”
  customerNumber * KELLER顧客識別番号   string “9990016 Rev. 2”
  customerOrderNumber * 顧客内部注文番号     “123456700012”
measurements[] *   各測定値の配列。順序は測定シーケンスに対応   Array of Measurement  
  reference * KELLERによる測定データへの参照   string “TSX_ABCD567P89”
  environment * 測定点の実環境   object {“pressure”: {…}, “temperature”: {…}}
  environmentTarget 測定点の目標環境   object {“pressure”: {…}, “temperature”: {…}}
  raw 生測定値   object {“bridgeResistance”: {…}, “signal”: {…}}
  compensated 補償値(さまざまな補償手法による)   object {“compensationCircuitOutputs”: {…}}
compensationMethods   各種補償手法の情報      
  mathematicalModel 数理補償モデル   object {…}
  compensationCircuit 補償回路   object {…}

5. サンプルソフトウェア

Githubリポジトリ: https://github.com/mycalibration/mycalibration.github.io/


6. よくある質問(FAQ)


7. ロードマップ


8. リリースノート

リリースノート をご覧ください。