SRCI
名詞の説明
| 名詞 | 説明 |
|---|---|
| SRCI | Standard Robot Command Interface、標準ロボットコマンドインターフェース。 |
| EDK | Easy Development Kit、シーメンスが提供するSRCIプロトコルパーサー。 |
| RI | Robot Interface、その状態は通常、SRCI通信が確立されているかどうかを示すために使用されます。 |
| RA | Robot Arm、ロボット本体。 |
| RC | Robot Controller、ロボットコントローラ。 |
| TCP | Tool Center Point、ツールセンターポイント。 |
| TCS | Tool Coordinate System、ツール座標系。 |
| UCS | User Coordinate System、ユーザー座標系。 |
| WCS | World Coordinate System、世界座標系。 |
| WCP | Wrist Center Point、ロボット本体の肩・肘・手首の姿勢パラメータを設定するために使用されます。 |
| M/O | Mandatory/Optional、SRCIマニュアルで要求される必須および任意の機能。 |
前書き
SRCIはPLCでロボットを制御するための新しい標準インターフェースであり、このインターフェースによりPLC内でロボットのプログラミングと制御が直接可能になります。
SRCIの目的は、データパケットとPLCライブラリ機能を標準化することです。これにより、ユーザーはどのロボット間でもコードを再記述することなく切り替えることができます。

注意
異なる時期にリリースされたバージョンでは、SRCI機能のサポート度合いが調整される場合があります。次の内容をよくお読みください。特にリスク項目に関する説明をご確認ください。
ハードウェアおよびソフトウェアのサポート
- JAKA K1
- ロボットハードウェア:全シリーズ共通(PROFINETサポートを有効化)
- PROFINETのGSDMLファイルバージョンをGSDML-V2.41-JAKA-JAKARobot-20231017.xmlに更新する必要があります。
- ロボットコントローラ:1.7.1_25以上(コントローラのバージョンとSRCI AddOnのバージョンを一致させる必要があり、X64バージョンでなければなりません)
- アプリ:1.7.1_22以上
- AddOn:1.6.27以上
- シーメンスPLC部分
- PLC 1500シリーズ以上、例:1516-3 PN/DP
- PLCはPROFINET機能をサポートする必要があります。
| コントローラバージョン | AddOn |
|---|---|
| 171.26rc | 1.6.28 |
バージョン情報
SRCIは3つの機能グループを定義しており、これら3つのグループにはすべてのインターフェース機能が含まれています:
| プロファイル コア | プロファイル 拡張 | プロファイル オプション |
|---|---|---|
| インターフェースの基本機能と 基本命令を含む | すべてのコアプロファイルに定義されていない必須命令を含む | すべてのオプション機能を含む |

JAKAは主に制限付きのCoreをサポートします。
縮小範囲のCore
以下は縮小範囲のCoreでサポートされる機能です:
Core全体の実装は、Core機能内の一部の基本命令の実装に依存しています。これらの基本命令は、Core動作を支える前提命令として理解され、顧客が個別に使用する必要はないため、ここでは列挙していません。
一部のコマンドのサポート度は異なり、別途説明されます。
速度変更オーバーライドロボット有効化グループ継続グループ割り込みグループジョググループリセットグループ停止軸絶対移動直接絶対移動直線絶対移動実際位置の読み取りツールデータの読み取りフレームデータの読み取り負荷データの読み取りロボット既定の動特性の読み取りロボット参照動特性の読み取りロボットソフトウェア制限の読み取りツールデータの書き込みフレームデータの書き込み負荷データの書き込みロボット既定の動特性の書き込みロボット参照動特性の書き込み
制限
SRCIコマンドを使用する前に、以下の制限を明確に理解する必要があります。
OperationModeの設定は現在未対応であり、SRCIは使用時に常にOperationMode=4(外部自動)の状態で動作します。
PLCでロボットを制御する際、ロボットは動作に関連するエラーのみを報告します。エラーが発生した場合は、PLC側のTIAソフトウェア内のRobot_UserData->SystemLogでロボットの詳細なエラーコードを確認してください。
現在未対応の機能:
SYNC機能。PLCとロボット側の情報は自動的に同期されません。対応する読み書き関数を使用して手動で同期する必要があります。
ReturnToPrimary
LogLevel
EnableRobot 内の StepMode
一部のUserData項目:DelayTime、InterpreterCycleTime、Accelerating、ConstantVelocity、IsBlending
リスク項目
SRCI命令を使用する前に、以下のリスク項目を十分に理解する必要があります。
MoveDirectAbsoluteおよびMoveLinearAbsolute命令を使用する際は、PLC側のConfigMode設定に特に注意してください。協働ロボットの機構構造は従来の産業用ロボットと多少異なるため、SRCIにおけるShoulder、Elbow、Wristの定義に完全には一致しません。ConfigModeを手動設定した後のロボットの動作軌跡が不確実な場合は、できるだけ使用前に次のように設定を変更してください:
ConfigMode.Shoulder=1("変更なし")ConfigMode.Elbow=1("変更なし")ConfigMode.Wrist=1("変更なし")
いかなる動作命令を実行する前にも、グローバルな動作速度と命令速度が安全で受け入れ可能な範囲に収まっていることを確認してください。
AppとSRCIのAddOnを同時に使用すると「単一点制御」の要件を満たさず、意図しないリスク(予期せぬ動作やエラー情報の欠落など)を引き起こす可能性があります。そのため、同時使用は避けてください。
コントローラのバージョンとSRCIのAddOnバージョンは厳密に対応させる必要があります。混在使用すると予期せぬリスクを引き起こす恐れがあります。
JAKA安全設定の使用
JAKAの安全機能を組み合わせて使用し、作業者の安全を確保します。JAKAは次の安全機能を提供します(外部IOトリガー):
- 追加非常停止
- 追加保護停止入力
- 減速モード(エンドエフェクタ速度、ロボット出力などを設定可能)

命令の説明
記号の説明:
√ は、SRCI を実行する際、このパラメータの定義と動作が SRCI 標準と一致することを意味します。 × は、現在サポートされていないことを意味します。 ! は、条件付きでサポートされることを意味します。
速度変更オーバーライド
- ChangeSpeedOverride は、GroupJog と FreeDrive を除くすべての動作コマンドの実行速度を変更します。
- このコマンドは動作中の変更をサポートしており、動作中に設定した実行速度が有効になります。
- RI 初期化後、実行速度を 5% に変更します。
コマンドパラメータ
| パラメータ | データ型 | 単位 | M/O | 備考 |
|---|---|---|---|---|
| Override | REAL | [%] | M | √ |
ロボット有効化
- JAKA ロボットでは、Power On/Off(ロボットアームの通電/遮断)と Enable/Disable(ロボットアームの有効化/無効化)を個別に操作できます。これは他の一般的な産業用ロボットとは異なります。
- Enable の前に必ず Power On を行う必要があり、Power Off の前に必ず Disable を行う必要があります。
- Enable(有効化)は、ロボットが動作コマンドを受信できることを意味します。
operationmode=4(外部自動)の場合のみサポートします。
通常、EnableRobot コマンドを使用すると、約 5 秒でロボットを有効化して操作できるようになります。
ただし、特別な状況、たとえば衝突や非常停止後に再度このコマンドを送信する場合、時間が最大 20 秒に延びることがあります。これは、ロボットを Enable(有効化)する前提として Power On(通電)が必要なためです。通常、Power On の処理は AddOn プログラムによってすでに完了しているため、ユーザーは直接 Enable コマンドを送信するだけで操作できます。しかし、特殊な状況として、非常停止後にロボットが電源断(Power Off)状態にある場合、AddOn は引き続き実行されますが、ロボットを再通電しません。したがって、この状態で再度 Enable コマンドを送信すると、ロボットはまず自分自身を通電(Power On)します(約 15 秒)。その後、Enable コマンドを実行します(約 5 秒)。
| パラメータ | データ型 | 単位 | M/O | 備考 |
|---|---|---|---|---|
| HoldToRun | BOOL | - | M | √ |
| StepMode | USINT | - | M | ! 0のみサポート |
| 手動ステップ | BOOL | - | O | × |
応答パラメータ
| パラメータ | データ型 | 単位 | M/O | 備考 |
|---|---|---|---|---|
| 有効 | BOOL | - | M | √ |
グループ継続
この関数は、「中断された」状態の動作コマンドを再開し、動作コマンドが中断された場合に動作を回復します。
グループ割り込み
この機能はすべてのアクティブな動作コマンドを中断し、動作コマンドの動作中に動作を停止し、すべての関節を停止させます。ただし、計画済みの経路はクリアされず、GroupContinueによって再開できます。
JAKAはGroupInterrupt中にjogロボットをサポートしており、この場合、自動的に第2シーケンスに切り替わります。
GroupStopの優先度はGroupInterruptより高く、呼び出すとGroupInterruptを終了させます。
グループジョグ
GroupJogモードにはJogFrame、JogTool、およびJogAxesがあり、JAKAはすべてをサポートしています。
グループリセット
- groupresetを使用すると、ReadMessagesで読み取った情報(エラー、警告など)をすべてクリアします。
- 主な使用シーンは次のとおりです:
- コントローラーのエラー(例:pstop(保護停止))
- addonのSRCI機能が異常に動作する場合
グループ停止
現在アクティブなシーケンスの動作コマンドをクリアし、動作コマンドのキャッシュを消去します。
軸絶対移動
この関数は、絶対位置に到達する未定義経路の動作を指定します。
コマンドパラメータ
| パラメータ | データ型 | 単位 | M/O | 備考 |
|---|---|---|---|---|
| 関節位置 | ロボット関節位置 | - | M | !外部軸はサポートされていません |
| 速度倍率 | REAL | [%] | M | √ |
| 加速度倍率 | REAL | [%] | M | √ |
| 減速度倍率 | REAL | [%] | O | × |
| ジャーク倍率 | REAL | [%] | O | × |
| ツール番号 | USINT | - | M | 0〜15をサポート、デフォルトの0はフランジ座標系です |
| 中止モード | USINT | - | M | √ |
| ブレンディングモード | USINT | - | M | !個別のブレンディング説明を参照 |
| ブレンディングパラメータ | REAL の配列[0..1] | - | M | √ |
直接絶対移動
与えられたデカルト位置から、最も早く目標位置(関節位置)に到達する経路を計算します。目標位置は ConfigMode の ConfigParameters に基づいて計算されます。
コマンドパラメータ
| パラメータ | データ型 | 単位 | M/O | 備考 |
|---|---|---|---|---|
| 位置 | ロボットカーティジアン位置 | - | M | !外部軸はサポートされていません |
| 速度倍率 | REAL | [%] | M | √ |
| 加速度倍率 | REAL | [%] | M | √ |
| 減速度倍率 | REAL | [%] | O | × |
| ジャーク倍率 | REAL | - | O | × |
| ツール番号 | USINT | - | M | 0~15 をサポートし、デフォルトの 0 はフランジ座標系を表します。-1 は現在を示します。 |
| フレーム番号 | USINT | - | M | 0~15 をサポートし、デフォルトの 0 はワールド座標系を表します。-1 は現在を示します。 |
| 中止モード | USINT | - | M | √ |
| ブレンディングモード | USINT | - | M | !個別のブレンディング説明を参照 |
| 構成モード | 構成パラメータ | - | M | !個別の構成説明を参照 |
| ターンモード | USINT | - | M | ! 2 のみサポート |
直線絶対移動
この関数は、指定された座標系に基づく実際のデカルト位置に到達するための補間直線運動経路を示し、ConfigMode の ConfigParameters により目標位置を明確にできます。
コマンドパラメータ
| パラメータ | データ型 | 単位 | M/O | 備考 |
|---|---|---|---|---|
| 位置 | ロボットカーティジアン位置 | - | M | !外部軸はサポートされていません |
| 速度倍率 | REAL | [%] | M | √ |
| 加速度倍率 | REAL | [%] | M | √ |
| 減速度倍率 | REAL | [%] | O | × |
| ジャーク倍率 | REAL | - | O | × |
| ツール番号 | USINT | - | M | 0〜15をサポート、デフォルトの0はフランジ座標系です |
| フレーム番号 | USINT | - | M | 0~15 をサポートし、デフォルトの 0 はワールド座標系です。 |
| 中止モード | USINT | - | M | √ |
| ブレンディングモード | USINT | - | M | !個別のブレンディング説明を参照 |
| 構成モード | 構成パラメータ | - | M | !個別の構成説明を参照 |
| ターンモード | USINT | - | M | !2 のみサポート |
実際位置の読み取り
指定された座標系に基づく現在の(TCP)位置を読み取ります。
コマンドパラメータ
| パラメータ | データ型 | 単位 | M/O | 備考 |
|---|---|---|---|---|
| ツール番号 | 整数型 (INT) | - | M | !0~15 をサポートし、-1 は現在を示します。 |
| フレーム番号 | 整数型 (INT) | - | M | !0~15 をサポートし、-1 は現在を示します。 |
応答パラメータ
| パラメータ | データ型 | 単位 | M/O | 備考 |
|---|---|---|---|---|
| 位置 | ロボット位置 | - | M | √ |
フレームデータの読み取り
FrameNumber に基づくユーザー座標系設定を読み取ります。
コマンドパラメータ
| パラメータ | データ型 | 単位 | M/O | 備考 |
|---|---|---|---|---|
| フレーム番号 | 整数型 (INT) | - | M | !0~15 をサポートし、-1 は現在を示します。 |
負荷データの読み取り
LoadNo に基づく荷重データを読み取ります。
コマンドパラメータ
| パラメータ | データ型 | 単位 | M/O | 備考 |
|---|---|---|---|---|
| 負荷番号 | 整数型 (INT) | - | M | !1~15をサポート、-1は現在を示す |
応答パラメータ
| パラメータ | データ型 | 単位 | M/O | 備考 |
|---|---|---|---|---|
| LoadData | LoadData | - | M | !X、Y、Zおよび質量(Mass)の読み取りをサポート |
ロボット既定の動特性の読み取り
ロボットのデフォルト動力学パラメータを読み取る
応答パラメータ
DefaultDynamicsを返す。構造は以下の通り:
| パラメータ | データ型 | 単位 | M/O | 備考 |
|---|---|---|---|---|
| 速度倍率 | REAL | [%] | M | √ |
| 加速度倍率 | REAL | [%] | M | √ |
| 減速度倍率 | REAL | [%] | O | ×、-1を返す |
| ジャーク倍率 | REAL | [%] | O | ×、-1を返す |
ロボット参照動特性の読み取り
ロボットの参照動力学パラメータを読み取る
応答パラメータ
ReferenceDynamicsを返す。構造は以下の通り
| パラメータ | データ型 | 単位 | M/O | 備考 |
|---|---|---|---|---|
| VelocityReference | REAL | [mm/s] | M | √ |
| AccelerationReference | REAL | [mm/s²] | M | √ |
| DecelerationReference | REAL | [mm/s²] | O | × |
| JerkReference | REAL | [mm/s³] | O | × |
ロボットソフトウェア制限の読み取り
ロボット関節の正負ソフトリミットを読み取る
応答パラメータ
SWLimitsを返す。構造は以下の通り
| パラメータ | データ型 | 単位 | M/O | 備考 |
|---|---|---|---|---|
| J1LowerLimit, J1UpperLimit~J6LowerLimit , J6UpperLimit | REAL | [mm/s] | M | √ |
| E1LowerLimit, E1UpperLimit~E6LowerLimit , E6UpperLimit | REAL | [mm/s] | M | × |
ツールデータの読み取り
ToolNumberに基づくツール座標系設定を読み取る
コマンドパラメータ
| パラメータ | データ型 | 単位 | M/O | 備考 |
|---|---|---|---|---|
| ツール番号 | USINT | - | M | !1~15のみサポート |
応答パラメータ
| パラメータ | データ型 | 単位 | M/O | 備考 |
|---|---|---|---|---|
| ToolData | ToolData | - | M | √ |
フレームデータの書き込み
FrameNoに基づいてユーザー座標系データを書き込む
コマンドパラメータ
| パラメータ | データ型 | 単位 | M/O | 備考 |
|---|---|---|---|---|
| フレーム番号 | USINT | - | M | !1~15のみサポート |
| FrameData | FrameData | - | M | √ |
referenceFrameは、すでにreferenceFrame(0以外)が使用されている座標系にはできません
負荷データの書き込み
LoadNoに基づいて負荷データを書き込む
コマンドパラメータ
| パラメータ | データ型 | 単位 | M/O | 備考 |
|---|---|---|---|---|
| 負荷番号 | USINT | - | M | !1~15のみサポート |
| LoadData | LoadData | - | M | !X、Y、ZおよびMassの書き込みのみをサポート |
ロボット既定の動特性の書き込み
ロボットのデフォルト動力学パラメータを書き込む
コマンドパラメータ
| パラメータ | データ型 | 単位 | M/O | 備考 |
|---|---|---|---|---|
| 速度倍率 | REAL | [%] | M | √ |
| 加速度倍率 | REAL | [%] | M | √ |
| 減速度倍率 | REAL | [%] | O | × |
| ジャーク倍率 | REAL | [%] | O | × |
ロボット参照動特性の書き込み
ロボットの参照動力学パラメータを書き込む
| パラメータ | データ型 | 単位 | M/O | 備考 |
|---|---|---|---|---|
| 速度倍率 | REAL | [%] | M | √ |
| 加速度倍率 | REAL | [%] | M | √ |
| 減速度倍率 | REAL | [%] | O | × |
| ジャーク倍率 | REAL | [%] | O | × |
ツールデータの書き込み
ToolNoに基づいてユーザー座標系データを書き込む
コマンドパラメータ
| パラメータ | データ型 | 単位 | M/O | 備考 |
|---|---|---|---|---|
| ツール番号 | USINT | - | M | !1~15のみサポート |
| ToolData | ToolData | - | M | √ |
展開手順
認可を申請する
- 現地のシーメンス営業チームに連絡し、ライセンス、デモ、マニュアルなどの資料を申請してください;
- 現地のJAKA営業チームに連絡し、SRCI(ロボット側)のAddOn、デモ、マニュアル、およびGSDMLファイルなどの資料を申請してください;
AddOnの準備
- コントローラのPROFINETが有効になっているか確認する;

- (https://jakacobot.github.io/guide/addOn/1.1-AboutAddOn.html)を参照してAddOn関連情報を確認してください;
- 対応するバージョンのTool-Kitをインストールする;
- SRCIに対応するAddOnをインストールし、そのAddOnを有効化する(しばらく待つと、コントローラが自動的にPower Onします)。
PLCの準備
- SDカードの初期化(PLCが新しいSDカードにプログラムをダウンロードする際には、まずストレージ領域をリセットしてからダウンロードする必要があります。そうでない場合、パスワードを要求されることがあります);
- JAKA提供のGSDMLファイルをインポートする;
- PROFINET構成の準備;

- PROFINET通信周期を設定(8ms);

- サイクル中断時間を設定(8ms);

- SRCIデータを設定する際は、データの開始アドレスとRobTaskの開始アドレスを一致させる必要があります。そうしないと初期化できない場合があります;


故障診断
一般的なトラブルシューティングの順序
- ロボットコントローラのバージョンとSRCI AddOnのバージョンが対応しているか確認する;
- AddOnが実行中であるか確認する;
- ロボットとPLCのPROFINET通信が確立されているか確認する(PLC機能でJAKAの正しいGSDMLファイルが使用されているか);
- PLCのPROFINETデータフレームが設定されているか確認する;
- それでも解決しない場合は、JAKAアフターサポートに連絡する(またはSRCI.Support@jaka.com にメールを送り、AddOnのエクスポートファイルを添付してください)。

SRCI通信が確立できない場合のトラブルシューティング順序:
- JAKA側のPROFINETが正常に動作し、PLCと接続されているか確認する;
- PLC側の設定情報に誤りがないか確認する;
- 頻繁に切断される場合は、スイッチがPROFINET要件を満たしているか確認するか、スイッチを介さずにPLCと制御キャビネットを直接接続する;
- PROFINETが正常に接続されている場合、SRCI通信の問題である;
- HMIシミュレーションが必要な場合は、「PG/PCインターフェース」を設定する必要があります(詳細はシーメンスにお問い合わせください)。
指令を送信してもロボットが動かない場合:
- overridespeed の設定を確認する;
- defaultDynamic および referenceDynamic 内の Velocity に関する設定を確認する;
- 動作指令内の速度と加速度設定を確認する;
- Interrupted 状態になっていないか確認する。
付録
JAKAロボットアーム SEW 説明
| パラメータ | データ型 | 単位 | M/O | 備考 |
|---|---|---|---|---|
| ショルダー | USINT | - | M(デフォルト 0 をサポート、設定を使用) | 0-設定を使用 と 1-移動時に設定を変更しない をサポート |
| エルボー | USINT | - | M | 同上 |
| 手首 | USINT | - | M | 同上 |
協働ロボットの構成は一般的に産業用ロボットとは異なり、特に4-5-6軸は一点に交差せず、つまり産業用ロボットにおける従来のWCP(リストセンターポイント)が存在しません。通常は4-5軸または5-6軸の交点を代わりに使用します。
肩

肘

手首 w = sin(axis5)
JAKA軌道ブレンディング説明
複数の動作セグメント間の接続方式は以下の通りです:
接続
現在サポートされている接続シナリオ:
- ジョイントからジョイント
- ジョイントから直線
- 直線から直線
- 直線からジョイント
接続機能を実現するには、usersetting.iniで以下の設定パラメータを設定する必要があります(デフォルトでは変更不要):
- MOVEJ_MOVEL_BLEND = 1
- MOVEJ_MOVEJ_BLEND = 1
現在サポートされているBlendingMode:0(Exact Stop)および4(MaxCornerDeviation)
