JAKA通信使用マニュアル
JAKA通信使用マニュアル
紹介
ユーザーがJAKAの通信機能をよりよく利用できるようにするために、本マニュアルでは、JAKAが市場に出回っている主流のPLCとどのようにデータをやり取りするかを紹介します。本マニュアルの例では一部のモデルのみを選定しています。同じメーカーのPLCでも、通信パラメータやデバージョンの違いにより使用方法が完全には一致しないため、本マニュアルは初歩的な参考資料としてご利用ください。さらに詳細な使用については、各PLCブランドの現地サプライヤーにお問い合わせください。
本検証は以下のPLCモデルに基づいており、表には使用したファームウェアバージョンと上位ソフトウェアバージョンを示しています。検証済みのバージョンまたはそれ以降のバージョンでの使用を推奨します。
| PLCモデル | ファームウェアバージョン | ソフトウェアバージョン | |
|---|---|---|---|
| ロックウェル | 5370 L3 1769-L33ER | 20.18 | RSLogix 5000 V20.00.00 (CPR 9 SR 5) |
| シーメンス | 6ES7317-2EK14-0AB0 | 3.2.18 | TIA Portal V16 |
| 三菱 | CPU:FX5U-80MT/DSS | 1.2450 | GX Works3 Version 1.090U EtherNetIP Configuration Tool for FX5-ENET IP V1.00A |
| 拡張: FX5-ENET/IP | 1.1 | ||
| シュナイダー | TM241CE24R | 5.1.10.10 | EcoStruxure Machine Expert Version 2.1 |
| オムロン | CPU:CP1H-X40DT-D | 1.3 | CX-Programmer 9.50 |
| 拡張:CJ1W-EIP21 | 3.0 | ||
| キーエンス | CPU:KV-8000 | 2.602 | KV STUDIO 11.62 |
| 拡張:KV-XLE02 | 1.400 | ||
| デルタ | AS228T-A | 1.12.50 | ISPSoft バージョン 3.15COMMGR 1.12 |
| インオビス | Easy522/0808TN | 5.67.0.0 | Autoshop V4.8.1.0 |
JAKAデバイスのEtherNet/IPサポートはアダプターとして使用され、PROFINETサポートはデバイスとして使用されます。いずれも一般的な意味でのスレーブであり、Modbus機能はマスターおよびスレーブの両方をサポートします。Modbus RTUとModbus TCPの主な違いは接続パラメーターにあるため、現時点ではModbus TCPのみを検証しています。さらに、多くのPLCメーカーではModbusマスター通信をラダープログラムによってトリガーするため、各メーカーごとの重複検証は行っていません。チュートリアルで特定のPLCモデルにおける通信機能が言及されていない場合でも、それはJAKAがサポートしていないことを意味するものではなく、PLCが該当機能を統合していないか、または検証が困難なためです。
環境構築
JAKAコントロールキャビネットとPLCが通信を確立すると、PLCはロボットの各種性能パラメータをリアルタイムで読み取ることができます。例えば、ロボットの状態、各関節の角度・速度・温度、TCPの位置・速度・力の値などです。同時に、PLCは異なる種類のデータレジスタを介してコントロールキャビネットとデータをやり取りすることもできます。
PROFINETおよびEtherNet/IPを使用する前に、以下のファイルをダウンロードする必要があります:
**PROFINET標準版GSDMLファイル: **GSDML-V2.41-JAKA-JAKARobot-20210722.xml
EtherNet/IP標準版EDSファイル:
**コントローラーバージョン 1.7.0_46~1.7.1_26_rc: **JAKARobot.eds
**コントローラーバージョン 1.7.1_27_rc~1.7.2_8_rc: **JAKARobot.eds
**コントローラーバージョン1.7.2_9_rc以降のバージョンでは、MiniCab向けに認証とEDSファイルの更新が行われており、標準キャビネットのEDSファイルとは互換性がありません。使用時に区別する必要があります: ** CabV2.1:JAKA_CAB.eds MiniCabJAKA_MiniCab.eds
備考:
GSDMLファイル(General Station Description Markup Language)は、PROFINETプロトコルに基づく産業用ネットワーク機器の特性を記述するためのファイル形式です。これは通常、産業用イーサネット機器の構成および管理に使用されます。GSDMLファイルには、デバイスのパラメータ、機能、および通信特性などの情報が含まれており、JAKAのPROFINET機能を使用する前に、このファイルをマスターステーションにインポートする必要があります。
EDSファイル(Electronic Data Sheet)は、Ethernet/IPプロトコル機器の通信プロトコル、オブジェクト辞書、およびパラメータ設定を記述するためのファイル形式です。これは通常、フィールドバス機器の設定に使用されます。EDSファイルはデバイスの詳細な説明を提供し、JAKAのEtherNet/IP機能を使用する前にマスターステーションにこのファイルをインポートする必要があります。
デバイス間の簡易接続図は以下のとおりです。PLC、上位コンピュータ、および制御キャビネットが同一ネットワークセグメント内にあることを確認してください。以下で説明する使用方法と手順は、三者間が相互にアクセス可能であることを前提としています。

JAKA制御キャビネットの通信機能には、キャビネット底部のネットワークポートを使用することを推奨します。JAKA Zu App(以下、Appと称する)も底部ポートを介して制御キャビネットに接続できますが、Appと制御キャビネット間のデータ転送が通信機能に影響を及ぼすのを避けるため、Appはパネル上のポートまたはWi-Fiを使用して制御キャビネットに接続することを推奨します。
注:底部ポートはアクティブ状態(コンピュータまたはルーターに接続)である必要があり、関連する通信機能を使用するためにはこの状態でなければなりません。
EtherNet/IP、PROFINETを有効化する
EtherNet/IPおよびPROFINETの有効化手順は基本的に同一のため、併せて説明します。
デフォルトでは、EtherNet/IPおよびPROFINET機能は無効状態です。有効化の具体的な手順は以下のとおりです。
手順1:最新バージョンのJAKA Zu Appを開き、App右上の「未接続」アイコンをタップしてロボット接続画面に入ります。

手順2:接続したいロボットをタップし、管理者パスワード(デフォルトパスワード:jakazuadmin)を入力してAppを制御キャビネットに接続します。

手順3:App画面で「設定」→「ハードウェアと通信」→「Ethernet/IP設定」または「PROFINET設定」を選択し、有効化スイッチをオンにして「確認」をタップし、手動で制御キャビネットを再起動します。制御キャビネットの再起動手順は以下のとおりです。
a. メイン画面に戻り、「本体電源をオフ」→画面右上の「オフ」ボタンをタップして制御キャビネットをシャットダウンします。
b. 制御キャビネットがシャットダウンした後、ハンドルの電源ボタンを短く押し、ブザー音が鳴ったらキャビネットが起動します。
c. JAKA Zu Appを開き、再度ロボットに接続します。具体的な操作は手順1および手順2を参照してください。
d. メイン画面に入り、「本体電源をオン」をタップします。
制御キャビネットを再接続した後、「EtherNet/IP設定」または「PROFINET設定」画面でステータスを確認できます。ステータスが「マスターステーションに未接続」と表示されている場合、EtherNet/IPは正常に有効化され、マスターステーション接続を待機しています。

Modbus TCP/IP、Modbus RTUを有効化する
Modbus TCP/IPおよびModbus RTUの有効化手順は基本的に同一であるため、併せて説明します。
デフォルトでは、Modbus TCP/IPおよびModbus RTU機能は有効な状態になっており、有効化の具体的な手順は次の通りです:
手順1:最新バージョンのJAKA Zu Appを開き、App右上の「未接続」アイコンをタップしてロボット接続画面に入ります。

手順2:接続したいロボットをタップし、管理者パスワード(デフォルトパスワード:jakazuadmin)を入力してAppを制御キャビネットに接続します。

ステップ3:アプリのホーム画面で、「設定」→「ハードウェアと通信」→「Modbus設定」をクリックします。
a. Modbus TCP/IPを有効にする場合は、Modbus TCP/IPの前のラジオボタンを選択し、ポート番号(0~65535)を入力して「確認」をクリックします;
b. Modbus RTUを有効にする場合は、Modbus RTUの前のラジオボタンを選択し、スレーブノード番号(1~128)を入力し、ボーレート、データビット長、ストップビット長、パリティ方式を選択して「確認」をクリックします。

IO数の設定説明
EtherNet/IP
アドレス割り当て表では、データ型の並び順はDIOブール型、AIO整数型、AIO浮動小数点型の順です。内訳:
DIO:ブール型で1ビット(bit)を占有し、8個のDIOで1バイトを構成します。そのため、DIおよびDOのIO数設定は8×n個(nは正の整数)でなければならず、対応するDIおよびDOデータ長が整数バイトになります。
AIO:整数型および浮動小数点型はいずれも4バイト(byte)を占有します。
使用シーンに応じて、EtherNet/IPのIO数は設定可能です。usersetting内で、Mode = 0の場合はEIPが標準のIO数を使用し、Mode = 1の場合はIO数を設定できます。
スキャナーは、コントローラのアダプタに一致させるためにedsファイルをインポートする必要があります。現在、JAKAは以下のedsファイルを提供しており、それぞれの意味と適用シーンは次の通りです:
JAKARobot.eds
標準版のedsファイルは、パラメータを設定・変更できず固定値となっており、IO数の定義はusersetting内にあります:
[EIP]
Enable = 1
Mode = 0
DI_NUM = 64
DO_NUM = 64
AI_INT_NUM = 24
AI_FLOAT_NUM = 24
AO_INT_NUM = 24
AO_FLOAT_NUM = 24
その中で、DOとAOの出力データ長の合計は最大204バイト、DIとAIの入力データ長の合計は最大492バイトです。
JAKARobotSetup.eds
カスタムバージョンのedsファイルで、IO数は設定可能です。コントローラ内でusersettingのmodeを1に変更し、その後IO数を修正する必要があります。
その中で、DOとAOの出力データ長の合計は最大492バイト、DIとAIの入力データ長の合計は最大492バイトです。
PROFINET
JAKAロボットのPROFINET IOデータ転送操作については、JAKAロボットアドレス割り当て表を参照してください。この表は、表説明、Robot2PLC、PLC2Robot、スクリプト関数の4つの表で構成されています。Robot2PLCおよびPLC2Robotの表で定義された各データは4バイトを占有し、すなわちビット0〜31の範囲です。主な内容は次のとおりです:
転送タイプ: R->P(Robot->PLC)またはP->R(PLC->Robot)であり、データ転送の方向を示します。
ユニットモジュール(Unit Group):データタイプおよび所属モジュールを示します。データタイプには「ロボット状態」「安全設定」があり、これらは第1モジュールに属します。例:1_R->P_Robot_Safetyは、データモジュール番号が1で、転送方向がR->P(Robot->PLC)であり、Robotはロボット状態を、Safetyは安全設定を表します。32バイトは使用済みアドレス、4バイトは予約アドレスです。その他のユニットモジュールの内容もこれに類似しています。
PLC設定:各ユニットモジュールに対応するスロット、サブスロット番号およびPLC上のアドレスを含みます。例えば、1_R->P_Robot_Safetyはスロット1、サブスロット1に対応し、PLC入力Iアドレスは0〜35バイトです。

PLC通信例
ロックウェル5370 L3 1769-L33ER
必要なソフトウェア:RsLinx Classic、BOOTP-DHCP Server、RsLinx Classic Launch Panel、RsLogix 5000、JAKA Zu App、Wireshark(必須ではありません)
EtherNet/IP
PLCの現在のIPアドレスが不明な場合は、Wiresharkを使用してPLCのIPアドレスを確認できます。Windows標準のcmdツールでデバイスをpingし、PLCがネットワークに接続されているかをテストします。コントローラおよび上位コンピュータが同一ネットワークセグメント内にない場合は、ステップ2に進み、PLCのIPアドレスを変更してください。同一ネットワークセグメント内にある場合は、ステップ4に進み実行を続けます。
RsLinx Classicソフトウェアを開き、「Configure Drivers」メニューをクリックします。表示されるダイアログで「Ethernet/IP Driver」を選択し、「Add New」をクリックします。デフォルト設定のまま完了したら「OK」をクリックします。

ネットワークノードアイコンをクリックすると、WRWhoダイアログボックスが表示されます。ABETHIP_1をクリックすると、PLCおよびEthernet/IPモジュール情報が更新されます。接続が正常であれば、ネットワーク構成が正しく行われたことを意味します。PLCを右クリックすると、そのIPアドレスを変更でき、コントローラや上位コンピュータと同じサブネット内に設定できます。

- BOOTP-DHCP Serverソフトウェアを開くと、コンピュータに接続されているデバイスが自動的に検索されます。

注:自動検索でPLCのMACアドレスが見つからない場合は、パソコンのファイアウォールを無効にし、MACアドレスを手動で入力してください。下部の欄でIPアドレスを選択し、「Disable BOOTP/DHCP」をクリックします。
- RsLinx Classic Launch Panelソフトウェアを開き、「Start」をクリックします。

- メニューバーの「Tools」をクリックし、EDSファイルをインストール・登録します。「次へ」をクリックし続け、設定が完了するまで進めます。


- RsLogix 5000ソフトウェアを開き、新しいプロジェクトを作成します。使用するPLCのモデルを選択し、プロジェクト名を入力して保存場所を指定し、「確認」をクリックします。

- 左側の欄でイーサネットを右クリックし、「新しいモジュール」を選択します。表示されたウィンドウで「JAKA Ethernet/IP Adapter」モジュールを見つけ、「作成」をクリックしてモジュール名を入力します。このとき、IPアドレスは制御キャビネットのEthernet/IPアドレスと同一である必要があります。



- 「変更」ボタンをクリックすると、データタイプを設定できます。データ表示を容易にするため、ここではDINTタイプを選択します。

注:カスタムバージョンを使用し、EIPモジュールを手動で設定する必要がある場合は、以下のように設定してください。
PLCからEIPへの出力IDは100です。
EIPからPLCへの入力IDは101です。
PLCの出力最大バイト数は492バイトです。
PLC入力の最大バイト数は492バイトです。
- ネットワークノードをクリックすると、アクティブページのダイアログボックスが表示されます。PLCモジュールを選択し、オンラインをクリックすると、ダイアログボックスが表示され、プログラムをダウンロードします。

- オンラインを選択してPLCを実行モードにし、接続状態が正常になった後、コントローラタブを右クリックし、「Tagのモニタ」を選択すると、PLCがロボットから一部のデータを読み取ったことが確認できます。


- アプリ上でEthernet/IPデジタル出力DO1とDO2のボタンをオンにし、整数AO1を123に設定します。

- RsLogix 5000の対応するデータを確認すると、[I.Data72]および[I.Data75]に正しいデータが表示されます。データのアドレスは、節卡ロボットのEthernetIPアドレス割り当て表のファイルを参照して確認できます。

Modbus TCP
マスタ
AB社のPLC自体はModbus TCP通信をサポートしていないため、AB PLCを使用する場合は、サードパーティのプロトコル変換ゲートウェイを使用して、ModbusTCPプロトコルをAB独自のEthernet/IPプロトコルに変換する必要があります。したがって、ロックウェルPLCはまずEtherNet/IPプロトコルを備えたイーサネットインターフェースを有している必要があります。
Logix5000プログラミングソフトウェアのバージョン15以降(実際に確認済みの20バージョン以上)では、CompactLogixおよびControllogixシリーズのPLCが、PLCプログラムによって記述されたModbusTCPプロトコル通信をサポートし、MasterおよびSlaveとして他のサードパーティ機器と通信できます。AB公式が提供するサンプルはMasterとSlaveの2つの部分に分かれており、必要に応じてそれぞれ使用できます。Master機能部分はPLC内の200~230Kの記憶領域を使用し、Slave機能部分は280~300Kの領域を使用する可能性があります。
以上のことから、ロックウェルは標準のModbus TCPプロトコルをネイティブにはサポートしておらず、EtherNet/IPのイーサネットポートを通して実現する必要があります。
ModbusをサポートするPLCプログラムを自作することも、ロックウェルのサイトからサンプルプログラムをダウンロードすることも可能です。以下では、公式サイトに掲載されているサンプルプログラムを簡単に検証します。
- 新しいプロジェクトを作成し、MainRoutineを選択し、右側の空白部分を右クリックして「Import Rungs」を選択します。

サンプルプログラムの.L5Xファイルをインポートし、TagsタブのFinal Nameオプションを通じてプログラム内のパラメータ名を変更できます。

image-20230518092750982 OKをクリックしてインポートし、Modbus TCP Clientブロック内を右クリックして「モニター」を選択します。

- 5370シリーズの場合、LocalSlotの値は0となります。他の項目、例えばEtherNet/IPのポートアドレス、ModbusスレーブのIPアドレスおよびポート番号などは実際の状況に合わせて入力してください。

- MainRoutineタブに戻り、inp_Enableを1に設定します。これはModbusクライアント機能を起動することを意味します。RSLogix 5000の場合、プログラムをコンパイルしてPLCにダウンロードし、最後に実行状態に切り替える必要があります。

- モニターテーブルでは、Pollinterval(更新間隔)、Transtype(機能コード)、Stationid(スレーブID)、BeginAddress(開始アドレス)、Count(アドレス数)などの基本パラメータを設定できます。さらに、LocalAddressを設定する必要があります。このパラメータは、Modbusスレーブの開始アドレスに対応するModbusクライアントの開始アドレスを示します。

- Modbusクライアントも同様に4つのレジスタを使用してデータを保存します。開始アドレスのマッピングが完了した後、レジスタ内のデータを直接編集できます。ここではスレーブの開始アドレスを40に設定し、coils下のデータを変更すると、コントローラ内部が正常に更新されたことを確認できます。

シーメンス 6ES7317-2EK14-0AB0
必要なソフトウェア:TIA Portal V15、JAKA Zu App
PROFINET
- TIA Portal V15ソフトウェアを開き、「新しいプロジェクトを作成」をクリックします。新規プロジェクトウィンドウが表示されたら、プロジェクト名(例:jakaPNIO)を変更し、「参照」ボタンをクリックして保存場所を選択して確定します。次に「作成」をクリックすると、新しいプロジェクトが指定したパスに作成されます。

作成したプロジェクトウィンドウで、「デバイスとネットワーク」→「新しいデバイスを追加」→「コントローラ」を順にクリックし、PLCの型式を選択して「追加」をクリックします

PLCモジュールをダブルクリックし、「一般」メニューで「イーサネットアドレス」をクリックして、PLCのIPアドレスを変更します。

- PLC S7-300を使用する場合は、IOアドレスマッピングのサイズを変更し、マッピング値を688バイトより大きくする必要があります。IOアドレスマッピングが小さいとデータ損失が発生する可能性があります。これはPROFINET IOの最大アドレス範囲が0〜688バイトであるためです。

- メニューバーのオプションメニューで「一般ステーション記述ファイル(GSD)の管理」をクリックし、対応するウィンドウが表示されたら「参照」ボタンをクリックしてGSDML-V2.41-JAKA-JAKARobot-20210722.xmlファイルのパスを見つけます。ロード後、そのファイルを選択してインストールを実行し、インストール完了を待ってウィンドウを閉じます。


- 左側の欄で「デバイスとネットワーク」をダブルクリックし、右側の欄のハードウェアディレクトリで「その他のフィールドデバイス」をクリックし、「PROFINET IO」を選択します。「JAKA_V1.0」を見つけて、ダブルクリックまたは画面にドラッグします。

- PROFINETデバイスの「未割り当て」をクリックし、「PLC_1.PROFINETインターフェース_1」を選択します。

- PROFINETデバイスのDP-NORMアイコンをクリックし、下部のメニューバーで「イーサネットアドレス」を選択し、PROFINETデバイスのIPアドレスを変更します。(注意:変更するのはPROFINETデバイスのアドレスであり、JAKAのコントロールキャビネット下部のポートアドレスではありません。そのため、設定するIPはコントロールキャビネットと同じセグメント内で、かつ重複しないアドレスにしてください。)

- 「IOサイクル」をクリックし、「更新時間」ブロックで「手動設定の更新時間」を選択します。ドロップダウンメニューからPROFINETデータの更新時間を選びます。本デバイスの最小更新時間は8msのため、選択する値は8ms以上に設定してください。

- 「jaka」という名前のPROFINETデバイスをダブルクリックし、「ハードウェアデバイス概要」ページに切り替えます。ハードウェアディレクトリのモジュール欄で定義された各IOデータブロックを確認できます。データブロックを対応するスロットにドラッグします。


- 「デバイスとネットワーク」画面に切り替え、PLCを選択し、順に「コンパイル」と「ダウンロード」アイコンをクリックします。

- 左側の欄で「オンラインと診断」をダブルクリックし、以下のようにオンラインアクセスを設定します。その後、「オンラインへ移動」をクリックすると、PLCとPROFINETの接続状況を確認し、PLCとPROFINET間のリアルタイムデータ転送を監視できます。

- 左のメニュー欄の「監視と強制リスト」で新しい監視テーブルを作成し、PROFINET IOアドレス割り当て表に基づいてDI、AI、DO、AOに対応するアドレスを操作することで、コントローラとPLC間のデータ転送を実現します。

Modbus TCP
マスタ
シーメンスも同様に、プログラミングによってModbus TCPプロトコルを実現できます。S7-300はMODBUSPNモジュールを使用できます。
- テクノロジーオブジェクト内にMB_PN_PARAMを挿入します。

- 構成画面に入り、接続設定を行い、IPアドレスやポート番号などのパラメータを設定します。

- Modbusのデータ領域を設定する

プロセスオブジェクトのデータ領域に基づいて、4つの領域ブロックを追加する

データブロックを作成

- 通信命令を呼び出し、対応するパラメータを設定する


後続の操作はロックウェルと類似しており、命令内でパラメータを変更することでModbus TCP通信が可能だが、この機能にはシーメンスのライセンスキーが必要。
三菱 FX5U-80MT/DSS
必要なソフトウェア:MELSOFT GX Works3、EtherNet/IP Configuration Tool for FX5-ENET/IP、JAKA Zu App
EtherNet/IP
FX5UのデフォルトIPは192.168.3.250;FX5 ENET/IPのデフォルトIPは192.168.3.251
EtherNet/IP機能を有効にするには拡張モジュールFX5-ENT/IPを使用する必要がある。この機能にはソフトウェアEtherNet/IP Configuration Tool for FX5-ENET/IPが必要で、三菱の公式サイトまたは販売業者から入手可能。
- GX Works3を使用してFX5-ENET/IPの設定ファイルにログインする


- 新しいプロジェクトを作成し、対応する型式のPLCを選択する

- 情報モジュールからFX5-ENET/IPをドラッグしてFX5Uに結合する

- 三菱EtherNet/IP Configuration Tool for FX5-ENET/IPツールを開き、Description欄で「add」をクリックして設定モジュールを追加し、アドレスを変更する。モジュールのIPアドレスと同じネットワークセグメントであることに注意。

- device libraryを選択してedsファイルを追加する。

- edsファイルをTCP/IPの下に直接ドラッグし、IPがモジュールと同じネットワークセグメントになるように設定してください。

- 設定画面のping機能を使用して、接続が成功したかどうかをテストできます。

- 「オンライン」をクリックし、設定をモジュールにダウンロードします。

- 三菱モジュールはプログラムを介して動作する必要があり、さらに機能ブロックの有効化が必要なため、設定のダウンロード完了後にメイン画面へ戻ってEtherNet/IP機能をトリガーするプログラムを作成する必要があります。FX5-ENET/IPの設定ファイルをインストールすると、部品ライブラリに標準の機能ブロックが追加されます。モジュールタグを追加してください。

- 「オンライン」-「現在の接続対象」をクリックして接続画面に入ります。

- 「その他の接続方法」をクリックして、接続対象指定画面を開きます。

- デバイスネットワークをダブルクリックしてFX5UのIP設定を行います。

- 「検索」をクリックし、検索されたデバイスをダブルクリックして「確認」をクリックします。

- 「通信テスト」をクリックすると、この時点で正常に接続されたことが表示されます。

- M+FX5ENETIP_Class1SetOutputdata_01Aモジュールを追加してデータ送信機能をテストします。テストプログラムは次のように作成します。

- この時点でEtherNet/IP Configuration Tool for FX5-ENET/IPの設定が完了しています。「すべて変換」をクリックしてFX5Uに書き込みます。

- すべて選択して書き込みを実行し、その後PLCをリセットします。電源を切ることでリセットを行ってもかまいません。このときLANケーブルはFX5Uユニットに接続されている必要があります。

- 再起動後、LANケーブルをFX5Uから抜き、FX5-ENET/IPに接続します。同様に「オンライン」-「現在の接続対象」に入り、EIPモジュールとの通信が正常であることを確認し、その後モニタを開きます。

- カーソルをM1001スイッチに合わせ、Shift+Enterを使用して入力信号を変更し、この関数ブロックをトリガーします

- モジュールでEIP機能をトリガーした後、App側にはマスターステーションへの正常な接続が表示されるはずです

- EtherNet/IP Configuration Tool for FX5-ENET/IPで診断を行うと、デバイスが正常にオンラインであることが表示されます

- 関数ブロックを右クリックし、「オンライン - ソフト要素/バッファメモリ一括モニタ」を開きます

- D1015を監視して更新すると、データがDIおよびAIに更新されるはずです

- 浮動小数点数も同様に、監視ウィンドウで対応するソフト要素の値を確認できます。注意すべき点は、ソフト要素メモリが16ビット単位でデータを格納しており、符号付き整数や浮動小数点数は高位・低位の組み合わせによって正確な32ビットデータを構成する必要があることです。

- M+FX5ENETIP_Class1Getinputdate_01Aモジュールをドラッグして受信データ機能をテストし、以下のようにテストプログラムを作成します。コンパイルして書き込むたびに、LANケーブルをCPUユニット(FX5U)に接続する必要がありますが、実際にEIP機能を使用する際はLANケーブルをFX5-ENET/IPに戻して接続します。

- AppでDOとAOの値を変更し、値の更新を確認します

- 浮動小数点数も同様です

Modbus TCP
スレーブ
- イーサネット設定内のModbus/TCP設定を開き、対象デバイス接続設定をダブルクリックします

- Modbus/TCP接続デバイスをネットワークトポロジーにドラッグし、設定を反映させて閉じます

- この時点でModbus/TCP設定が「使用中」と表示されるはずです。詳細設定をダブルクリックしてソフト要素の割り当てを行い、完了後に「確認」をクリックし、「適用」をクリックします。

- 変更後のモジュールパラメータをPLCに書き込み、その後PLCをリセットします。

- この時点でAppは拡張IOモジュールを実行でき、ソフト要素バッファの一括モニタを開いて、値が対応するアドレスに更新されているかを確認します。



マスタ
- モジュールパラメータのイーサネットポートをクリックし、対象機器接続設定の詳細設定をダブルクリックして設定ページに入り、Active接続機器をドラッグし、通信手段を通信プロトコルに選択し、ポート番号やIPなどの情報を設定します。設定完了後、設定を反映して閉じ、「適用」をクリックします。

- 「ツール」→「通信プロトコル対応機能」をクリックします。

- イーサネットを選択し、「OK」をクリックします。

- 「追加」をクリックし、「Modbus/TCP」を選択し、プロトコル名を追加します。

- プロトコル名は複数追加可能で、最大64個のプロトコル番号をサポートします。

- ソフト要素の割り当て方法に詳しくない場合は、データパケットのソフト要素を自動割り当てすることもできます。空白領域を右クリックし、「ソフト要素一括設定」をクリックします。

- ソフト要素のプロトコル番号範囲と開始ソフト要素番号を指定し、「OK」をクリックします。

- この時点で変数設定が完了しており、「ツール」→「ソフト要素一覧表示の設定」をクリックして具体的な割り当て方法を確認することもできます。

- 機能コード15の割り当て規則では、D304が接続番号、D305がモジュールID、D306が開始アドレス、D307が書き込み長、D308が可変長で、書き込むデータのバイト長を指定します。D309〜D1292が実際に書き込む具体的なデータです。

- 割り当てが完了したら、このモジュールをPLCに書き込みます。この設定は個別書き込みであることに注意してください。GX Works3のメイン画面から実行する書き込みでは、このモジュールの情報は書き込まれません。

書き込みが完了した後、この通信プロトコルをトリガーするプログラムを作成する必要があります。三菱PLCがModbusマスタとして動作する場合、主に3つの命令を使用します。詳細は「MELSEC iQ-F FX5ユーザーマニュアル(MODBUS通信編)」を参照してください。各命令の説明は、F1キーを押すことで公式のヘルプを確認できます。
ここでは1つの通信方法を紹介します。論理的な要件に応じてプログラムを変更できます。SP.SOCOPENを使用して接続を開きます。

- 接続設定を行います。主に前述のソフト要素割り当て表のアドレスに基づきます。

- SP.ECPRTCLを使用して通信プロトコル番号を呼び出し、書き込みを行います。

- SP.SOCCLOSEを使用して接続を閉じます。

- 「プログラム変換」をクリックしてPLCに書き込みます。このプログラムロジックは通信プロトコル番号1を繰り返し使用します。SP.ECPRTCLは接続の開閉を行わないため、使用時にはSP.SOCOPENおよびSP.SOCCLOSEと組み合わせて使用する必要があります。[モニタ]をクリックし、ソフト要素/バッファメモリ一括モニタを開きます。

- 値が対応するレジスタに正しく更新されていることが確認できます。

- 02機能コードに対しても同様です。ソフト要素の割り当てを確認し、プログラムを修正すれば完了です。

- 主にプロトコル番号と連続読み取り番号を2に変更する必要があります。

- 同様にプログラムを変換してPLCにダウンロードすると、DOの値がD1307に更新されていることが確認できます。

シュナイダー TM241CE24R
必要なソフトウェア:Machine Expert、JAKA Zu App
EtherNet/IP
まず、TM241CE24RのファームウェアバージョンがMachine Expertと一致していることを確認する必要があります。一致していない場合は正常に動作しません。バージョンが異なる場合は、Controller Assistantを使用してファームウェアのバージョンをアップグレードまたはダウングレードしてください。
- Machine Expertを使用してEDSファイルを追加します。



- コントローラーをダブルクリックして更新すると、現在接続されているデバイスを確認できます。また、LANケーブルを使用して外部デバイスのIPアドレスを直接変更することもできます。

- 変更時に「永久保存」にチェックを入れます。

- この時点で変更は正常に完了しています。TM241CE24Rをスイッチに接続し、JAKAアプリとコントローラーも同じスイッチに接続し、同一のネットワークセグメント内にあることを確認します。

- Ethernet_1 を右クリックしてデバイスを追加します。

- Modbus TCP 内の「Industrial Ethernet Manager」を選択します。

- 続いて「Industrial Ethernet Manager」を右クリックし、JAKAデバイスを追加します。

- デバイスをコンパイルしてログインします。セキュリティに関する警告が表示された場合は無視し、ALT+F8を押してログインを続行します。

- 「常に有効」に変更した後、「開始」をクリックします。

- この時点で、アプリ側にはマスターステーションへの接続が成功したことが表示されます。

- DOおよびAOの値を変更すると、対応するInput Exclusive owner144[、]150[]、[154]の変化が確認できます。これは、ROBOTからPLCへのデータにROBOTの状態データが含まれているためです。そのため、DOはアドレス72から始まります。JAKAのEtherNet/IPは32ビットデータを使用し、Machine Expertは16ビットデータを使用するため、最終的にDOのアドレスは144から始まります。

- 出力では、Ctrl+F7を使用して値をロボットに送信し、値が正常に更新されることを確認します。

Modbus TCP
マスタ
- Ethernet_1を右クリックしてModbusスレーブデバイスを追加します

- マスタのIPアドレスなどの情報を設定します

- ログインして開始し、データを監視します

- TM241CE24RがサポートするModbusスレーブの保持レジスタのファンクションコードは03、06、および16であり、入力レジスタに対応するファンクションコードは17です。JAKAロボットのModbusマスタは現在このファンクションコードをサポートしていないため、使用前に公式ドキュメントを参照する必要があります。
オムロン CP1H-X40DT-D
必要なソフトウェア:CX-Programmer、JAKA Zu App
CP1HのCPUユニット自体にはEIP機能が搭載されていないため、拡張ユニットを取り付ける必要があります。その前に、CJ1W-EXT01拡張ユニットを追加して拡張に対応させる必要があります。取り付け後の製品は次の図の通りです:

オムロンのModbus通信はすべてプロトコルなし通信に分類され、ソフトウェアによって通信を実現します。さらに、追加のハードウェアが必要となり、たとえばCJ1W-ETN21でModbus TCPを、CP1W-CIF11でModbus RTUをサポートします。そのため、ここでは検証を行いません。
EtherNet/IP
- CX-Programmerを上位機として使用し、新しいプロジェクトを作成します

- PLCのデフォルトアドレスは192.168.250.1です。まずLANケーブルで直接接続し、オンラインモードに切り替えてプログラミングを有効にしてからパラメータを変更します。

- IOテーブルを作成し、CPUバスを初期化します

- この時点でEIPモジュールが追加されています

- EIP21モジュールのIPアドレスを変更後、パラメータをPCからユニットに転送し再起動します。変更後のIPアドレスを使用してPLCに接続します。

- 専用アプリケーションを起動し、起動を継承します

- 「Network Configurator」をクリックしてEIP設定を行います

- 「Install」をクリックしてedsファイルをインストールします

- 「Upload」をクリックします

- インポートしたデバイスをバスにドラッグし、「Change Node Address…」をクリックしてIPアドレスを変更します

- 接続の登録:「JAKA Robot Ethernet/IP Adapter」→「Connections」をクリックします

- 変数を設定します

- 設定が完了したら、パラメータをPLCに書き込みます

- 「Dowland」をクリックします

- 警告を無視して続行します

- ダウンロードが完了するとPLCが再起動します

- この時、アプリ側にはマスターステーションへの接続成功が表示され、PLCの動作モードをモニタリングに切り替えることで値の転送が可能になります


キーエンス KV-8000
必要なソフトウェア:KV STUDIO、JAKA Zu App
本例では、KV-8000をCPUユニットとして使用し、KV-XLE02を拡張ユニットとして使用します
EtherNet/IP
- KV STUDIOを使用して新しいプロジェクトを作成し、初めてイーサネットユニットを使用する場合は、ユニットエディタを開く必要があります。

- ユニットをKV-8000にドラッグします。すでにCPUユニットが接続されている場合は、PLCから直接ユニット構成を読み取ることもできます。

- ポートのプロトコルをscannerに設定します(ここで設定を行わないとEtherNet/IP設定は表示されません)。それぞれKV-8000とKV-XLE02のIPアドレスを設定し、最後に設定を適用します。

- KV-STUDIOに戻り、モニタ/シミュレータの通信設定を選択し、EtherNet/IPまたはUSBによるスキャンを選びます。PCとPLCをLANケーブルまたはUSBで接続しておく必要があります。EtherNet/IPを選択してスキャンを実行する場合は、ネットワークカードを選択して実行すると、対応するデバイスをスキャンできます。スキャン後、該当デバイスをクリックして選択します。

- 「PLCへ変換」をクリックし、「実行」を選択します。実行後、ユニットエディタ内のイーサネット設定も同時にPLCへ書き込まれます。ユニットエディタ内でKV-8000のIPアドレスやKV-XLE02の通信プロトコルを変更した場合、書き込み完了後にデバイスのネットワークパラメータも変更されます。また、KV-XLE02の2つのポートのネットワーク部分は異なる設定にする必要があります。

- JAKAのEDSファイルをインポートします。

- 本例ではport 1のIPアドレスを192.168.1.10に設定し、前述のデバイス選択の手順を繰り返します。LANケーブルをKV-XLE02に接続し、このデバイスを選択してユニットエディタに戻り、EtherNet/IP設定をクリックします。

- JAKAデバイスのIPアドレスをPLCと同じネットワークに設定します。本例では192.168.1.20/24とし、「自動設定」をクリックすると、ネットワークトポロジーが自動的にスキャンされます。

- KV STUDIOに戻り、EtherNet/IP設定とユニットエディタをPLCにダウンロードします。この時、アプリ側でマスタとの接続成功が表示されるはずです。

- ユニットエディタのEtherNet/IP設定に戻り、「Exclusive Owner」の「Edit」をクリックして、ソフト要素を自動割り当てまたは手動割り当てから選択できます。ここでは自動を選択します。キーエンスが定義するEtherNet/IPデバイスの通信データ型はビットとワードであり、データの表示形式はタイプによって異なります。キーエンス以外のデバイスに対しては、自動割り当てを使用し、ワードデバイスを選択します。


- 設定を保存します。JAKAのデータはデフォルトで32ビットを占有し、KV-STUDIOのデータ型はデフォルトでWORD(16ビット)であるため、WORDデータ型を使用する場合、JAKAのDIはPLCの[IN_101144]から、DOはOUT_1000[から対応]します。監視ウィンドウを開きます。

- AppとKV STUDIOでパラメータを変更し、各ソフト要素およびAppの値を確認します。KV STUDIOのデフォルトデータ型はWORDであるため、使用時には上位・下位ビットの結合処理が必要です。

Modbus TCP
スレーブ
- KV-XLE02をスレーブとして使用する場合、送受信用のラダー図プログラムは不要です。ユニットエディタに入り、PROTOCOL STUDIOスイッチをオンにします。

- ユニット設定でModbusに関するすべてのパラメータ(IPアドレス、Modbus TCPポート番号、コイルおよびレジスタアドレスなど)を構成します。デフォルト値では、読み取り専用のソフト要素(入力/入力レジスタ)は、読み書き可能なソフト要素(コイル/ホールディングレジスタ)と同じ割り当てに設定されています。

- ユニットエディタの設定をPLCに書き込み、監視モードを起動します。この時点でスレーブが正常に起動します。スレーブのレジスタアドレスを選択して監視します。注意すべき点として、デフォルトではKV-XLE02の読み取り専用ソフト要素(入力/入力レジスタ)は、読み書き可能なソフト要素(コイル/ホールディングレジスタ)と同じ割り当てに設定されていますが、必要に応じて自由に割り当てることができます。ここでは区別をつけるために一部変更を行いました。

- JAKA拡張IOを開き、「実行」をクリックし、パラメータを変更した後でKV STUDIOで対応するアドレスのパラメータを読み取りおよび送信します。パラメータが同期的に更新されることが確認できます。

デルタ AS228T-A
必要なソフトウェア:Delta ISPSoft、HWCONFIG、JAKA Zu App
EtherNet/IP
デルタのASシリーズに対しては、HWCONFIGからEIP BUILDERを開く必要があります。そうしないとASシリーズのオプションが表示されません。新しいバージョンの場合は、HWCONFIG内で直接EIPの設定およびネットワークトポロジを完了できます。
新しいプロジェクトを作成し、HWCONFIGをダブルクリックします。

- デバイス記述ファイル管理ツールをインストールします。

- PLCデバイスを右クリックし、通信ソフトウェアのEtherNet/IPを選択します。

- インポートしたJAKA記述情報を検索し、それを構成ネットワーク内にドラッグ&ドロップします。その後、JAKAデバイスをダブルクリックしてIPアドレスを変更します。

- 「クイック接続」をクリックし、デバイスを同一ネットワーク内に接続してから、デバイスにダウンロードします。

- 「データ交換の表示」をクリックし、マスターステーションのレジスタアドレスを設定し、最後に関連データをPLCにダウンロードします。

- ダウンロードが完了すると、マスターステーションへの接続が成功したことが表示されます。

- HWCONFIGを閉じて保存し、ISPSoftに戻って「オンラインモード」をクリックします。プロジェクトの比較が一致しないというメッセージが表示された場合、「はい」をクリックしてダウンロードを実行します。

- 「デバイスモニタテーブル」をクリックし、新しいモニタテーブルを作成し、新しいアドレス変数を追加します。

- DOおよびAOの変化を監視します。浮動小数点も同様です。


- DIおよびAIの値を監視し、設定に基づいてDIの値はD1000から開始します。浮動小数点も同様です。


Modbus TCP
スレーブ
- 公式サイトでデバイスの標準MODBUSアドレスを確認できます。これらのアドレスに直接アクセスすることで、デルタPLC Modbusスレーブへのアクセスを実現できます。ポート番号はデフォルトで502であり、MODBUSアドレスの最初の桁はアクセスするレジスタの種類を示します。

- デバイスモニタテーブルでデータを監視します。Y、M、Dへのアクセスを例にします。


マスタ
- HWCONFIGに入るためにダブルクリックし、ハードウェア構成をダブルクリックし、デバイスアイコンをダブルクリックします。

- データ交換のイーサネットに入り、ここではModbus TCPポートのトリガー方式を示しています。「常時実行」に変更すると、PLCの電源が入ると常に有効になります。変更が完了したらデータ交換ルールを追加し、リモートデバイスタイプを「標準Modbusデバイス」に設定します。IPアドレス、ローカル開始アドレス、リモート開始アドレス、および数量をそれぞれ設定します。リモート開始アドレスは16進数を使用することに注意してください。設定が完了したら、パラメータをデバイスにダウンロードします。

- HWCONFIGを閉じて、オンラインオプションを開き、データテーブルを監視すると、すべてのデータが更新されているのを確認できます。

- JAKA Modbusスレーブは浮動小数点数をビッグエンディアンで表示するため、上位バイトは下位バイトに格納され、デルタPLCの表示ルールに従うと次のようになります。

汇川 Easy522‑0808TN
必要なソフトウェア:AutoShop、JAKA Zu App
EtherNet/IP
- AutoShopを開き、新しいプロジェクトを作成してPLCモデルを選択し、ツールの通信設定に入ります。

- デバイスの検索をクリックします。

- edsファイルをインポートするを選択します。

- インポートが成功した後、デバイスをダブルクリックして構成を追加します。

- コンパイルしてデバイスにダウンロードし、デバイスを実行状態に切り替えます。

- この時点で、デバイスはマスターステーションとの接続成功を表示し、設定内のEtherNet/IPはすべて緑色で表示されるはずです。

- デジタル出力と符号付き出力を使用すると、正常にPLCへ更新できます。

- 浮動小数点数も正常に更新できます。

- PLCからロボットへのデータ出力


Modbus TCP
スレーブ
- Easy-522をスレーブとして使用する場合、IPアドレスを設定すると同時にModbusスレーブ機能が有効になり、通信プロトコルを設定する必要はありません。JAKAの拡張IOを構成し、ポート502を使用することでEasy-522と通信できます。

- Easy-522のドキュメントには、コイルおよびレジスタがアクセス可能なアドレスが定義されており、コイルとレジスタはアドレスを共有します。


マスタ
- Easy-522をマスタとして使用する場合、イーサネット設定を追加し、パラメータをJAKAロボットのアドレスとModbusポートに設定します。

- 右クリックして新しいスレーブIDを追加し、それぞれ設定を行い、マッピングアドレスを割り当てた後に「確認」をクリックします。

- ソフト要素テーブルを開き、D200~D240の値を監視します。上図の割り当てに従い、アドレスマッピングは次の通りです:
DO 0-9 : D200-209
DI 0-9 : D210-D219
AO 0-9 : D220-229
AI 0-9 : D230-D239
メモリの読み取りと書き込みをそれぞれ使用して、値の更新を確認できます。

Codesys
EtherNet/IP
- Codesysをダウンロードしてインストールすると、バックグラウンドでCODESYS Gateway Systray -x64とCODESYS Control Win Systray -x64が表示されます。前者はゲートウェイのスイッチ、後者は仮想PLCのスイッチであり、使用時には両方が実行中であることを確認する必要があります。

- Codesysを開いて新しいプロジェクトを作成し、「standard project」を選択します。初回使用時にはユーザー作成を求められ、その後PLCを使用する際にはこのユーザー情報でログインする必要があります。


- PLCモデルとして「CODESYS Control Win V3 x64」を選択し、2番目の欄はデフォルトのままで構いません。

- Codesysのメニューバーの「ツール」→「デバイスリポジトリ」を開き、「インストール」をクリックしてedsファイルをインポートします。インポート後、メッセージが表示され、同時にファイルがEthernetIPバスのリモートアダプタの下に表示されます。


- Codesysで、階層的にEtherNet->EtherNet_IP_Scannerを順に追加します。

- EtherNetをダブルクリックし、外部デバイスに接続されているネットワークポートを選択して「OK」をクリックします。ネットワーク内にこのedsファイルと一致するJAKAコントローラがすでにあり、EtherNet/IP機能が有効になっている場合、EtherNet_IP_Scannerを右クリックしてデバイススキャンを実行すると、条件に一致するデバイスが表示されます。「プロジェクトにコピー」をクリックします。スキャンが成功しなかった場合は、手動でデバイスを追加し、そのIPアドレスを設定できます。


- ログインボタンと実行ボタンを順にクリックし、デバイス欄のscannerとadapterが両方とも緑色になったら、デバイスが正常に接続されたことを意味します。このとき、App側でもマスターステーションへの接続が正常に表示されます。





- jaka adapterのIOマッピングを開き、「常に更新」を「有効化1」に変更します。このオプションを変更するには、先にPLCからログアウトする必要があります。再度ログインすると、データが同期して更新され始めていることが確認できます。


- コントローラからPLCへ、DOとAOのデータをそれぞれ変更すると、対応するアドレスのパラメータが更新されたことが確認できます。


- PLCからコントローラへ、準備値欄でDIとAIの値をそれぞれ変更し、Ctrl+F7を同時に押してデータを送信すると、対応するデータが更新されたことが確認できます。


まとめ
現在までに検証済みのPLC機種と対応する通信プロトコルの一覧は次の通りです:
| 型式 | メーカー | Modbus TCP | EtherNet/IP(スキャナ) | PROFINET(コントローラ) |
|---|---|---|---|---|
| 5370 L3 1769-L33ER | ロックウェル | √ | √ | |
| 6ES7317-2EK14-0AB0 | シーメンス | √ | √ | √ |
| FX5U-80MT、DSS | 三菱 | √ | √ | |
| TM241CE24R | シュナイダー | √ | √ | |
| CP1H-X40DT-D | オムロン | √ | ||
| KV-8000 | キーエンス | √ | √ | |
| AS228T-A | デルタ | √ | √ | |
| Easy522/0808TN | インオビス | √ | √ |
上記で確認されたPLC機種について、通信プロトコルはJAKAが現在サポートしているマスター/スレーブプロトコルと良好に互換性があり、正常に使用できます。注意すべき点として、各PLCメーカーによるデータ型や長さの規定により、完全な互換性を確保できない場合があり、データの結合などの処理が必要となることがあります。
トラブルシューティング
接続できない、または有効化できない場合は、以下の項目に従って初期分析と対応を行ってください。
デバイスのネットワークセグメントが同じか確認
デバイスが同一ネットワークセグメント上にあるか確認します。Wiresharkを使用してパケットキャプチャ分析を行うか、pingテストでネットワークを確認し、デバイス間の通信状態が良好であることを確かめます。
アプリからEtherNet/IPの状態を確認
EtherNet/IPの有効状態やネットワーク状態を変更した後は、設定を更新するためにコントローラを再起動する必要があります。PROFINETの場合も同様です。アプリの対応する設定画面で、マスターステーションとの通信状態や接続判定を確認してください。
配線が正常か確認
PLCと接続する際には、制御キャビネット下部のLANポートを使用することを推奨します。その際、アプリはWi-Fiまたは制御キャビネット前面のポートを介して接続し、通信品質を確保してください。
PLCから状態を確認
上位ソフトウェアを通じてPLCの状態を監視し、動作状態で正常に稼働していることを確認します。たとえば、Codesysでデータを更新するには、「有効化1」オプションをオンにする必要があります。
PLCを再起動
一部のPLC機種は通信設定やプログラムを書き込むためにコールドスタートが必要です。通信がどうしてもできない場合は、電源を切ってPLCを再起動し、再試行してください。
ターミナル画面の出力情報を確認
ターミナル画面で「jkzuc」コマンドを使用してコントローラを再起動し、EtherNet/IPに関連する出力情報を確認します。有効状態、IO設定モード、ネットワークインターフェース名、IPアドレス、マスターとの接続状態などを確認し、情報が一致しているか、正常であるかを確認してください。

バスアドレス表
Modbusアドレス表
| タイプ (PLC向け) | 名称(CAB1.0) | 名称 | 名称(MiniCab) | データ型 | 機能コード | 説明 | 単位 | レジスタタイプ | |
| (CAB2.1) | |||||||||
| 8 | 汎用デジタル入力 | DO1 | DO1 | DO1 | BOOL | 02 | 離散入力 読み取り可能 書き込み不可 | ||
| 9 | DO2 | DO2 | DO2 | ||||||
| 10 | DO3 | DO3 | DO3 | ||||||
| 11 | DO4 | DO4 | DO4 | ||||||
| … | … | … | … | ||||||
| 135 | DO128 | DO128 | DO128 | ||||||
| 136 | - | CAB DI1 | CAB DI1 | ||||||
| … | - | … | … | ||||||
| - | |||||||||
| 142 | - | CAB DI7 | CAB DI7 | ||||||
| 143 | - | CAB DI8 | - | ||||||
| … | - | … | - | ||||||
| - | - | ||||||||
| 151 | - | CAB DI16 | - | ||||||
| 152 | TOOL DI1 | TOOL DI1 | TOOL DI1 | ||||||
| 153 | TOOL DI2 | TOOL DI2 | TOOL DI2 | ||||||
| 40 | 汎用デジタル出力 | DI1 | DI1 | DI1 | BOOL | 2001/05/15 | コイル | ||
| 41 | DI2 | DI2 | DI2 | ||||||
| 42 | DI3 | DI3 | DI3 | ||||||
| 43 | DI4 | DI4 | DI4 | ||||||
| … | … | … | … | ||||||
| 167 | DI128 | DI128 | DI128 | ||||||
| 168 | - | CAB DO1 | CAB DO1 | ||||||
| … | - | … | … | ||||||
| - | |||||||||
| 174 | - | CAB DO7 | CAB DO7 | ||||||
| 175 | - | CAB DO8 | - | ||||||
| … | - | … | - | ||||||
| - | - | ||||||||
| 183 | - | CAB DO16 | - | ||||||
| 184 | TOOL DO1 | TOOL DO1 | TOOL DO1 | ||||||
| 185 | TOOL DO2 | TOOL DO2 | TOOL DO2 | ||||||
| 96 | アナログ入力 | AO01 | AO01 | AO01 | UINT16 | 04 | 入力レジスタ 読み取り 可能 書き込み不可 | ||
| 97 | AO02 | AO02 | AO02 | ||||||
| 98 | AO03 | AO03 | AO03 | ||||||
| 99 | AO04 | AO04 | AO04 | ||||||
| … | … | … | … | ||||||
| 111 | AO16 | AO16 | AO16 | ||||||
| 112 | AO17 | AO17 | AO17 | INT16 | |||||
| 113 | AO18 | AO18 | AO18 | ||||||
| 114 | AO19 | AO19 | AO19 | ||||||
| 115 | AO20 | AO20 | AO20 | ||||||
| … | … | … | … | ||||||
| 127 | AO32 | AO32 | AO32 | ||||||
| 128 | AO33 | AO33 | AO33 | FLOAT32 (ビッグエンディアン表示) | |||||
| 129 | |||||||||
| 130 | AO34 | AO34 | AO34 | ||||||
| 131 | |||||||||
| … | … | … | … | ||||||
| 190 | AO64 | AO64 | AO64 | ||||||
| 191 | |||||||||
| 192 | - | CAB AI1 | - | UINT16 | |||||
| 193 | - | CAB AI2 | - | ||||||
| 194 | TOOL AI1 | TOOL AI1 | TOOL AI1 | ||||||
| 195 | TOOL AI2 | TOOL AI2 | TOOL AI2 | ||||||
| 100 | アナログ出力 | AI01 | AI01 | AI01 | UINT16 | 2003/06/16 | 保持レジスタ 読み取り・書き込み 可能 | ||
| 101 | AI02 | AI02 | AI02 | ||||||
| 102 | AI03 | AI03 | AI03 | ||||||
| 103 | AI04 | AI04 | AI04 | ||||||
| … | … | … | … | ||||||
| 115 | AI16 | AI16 | AI16 | ||||||
| 116 | AI17 | AI17 | AI18 | INT16 | |||||
| 117 | AI18 | AI18 | AI18 | ||||||
| 118 | AI19 | AI19 | AI19 | ||||||
| 119 | AI20 | AI20 | AI20 | ||||||
| … | … | … | … | ||||||
| 131 | AI32 | AI32 | AI32 | ||||||
| 132 | AI33 | AI33 | AI33 | FLOAT32 (ビッグエンディアン表示) | |||||
| 133 | |||||||||
| 134 | AI34 | AI34 | AI34 | ||||||
| 135 | |||||||||
| … | … | … | … | ||||||
| 194 | AI64 | AI64 | AI64 | ||||||
| 195 | |||||||||
| 196 | - | CAB AO1 | - | UINT16 | |||||
| 197 | - | CAB AO2 | - | ||||||
| ロボットデータ関連(ビッグエンディアン表示) | |||||||||
| 300 | ロボットデータ | サーボバージョン番号 | INT32 | 04 | 入力レジスタ 読み取り 可能 書き込み不可 | ||||
| 302 | ロボットシリアル番号 | ||||||||
| 304 | 関節1 電圧 | Float32 | 各関節の電圧 | V | |||||
| 306 | 関節2 電圧 | ||||||||
| 308 | 関節3 電圧 | ||||||||
| 310 | 関節4 電圧 | ||||||||
| 312 | 関節5 電圧 | ||||||||
| 314 | 関節6 電圧 | ||||||||
| 316 | 関節1 温度 | Float32 | 各関節の温度 | °C | |||||
| 318 | 関節2の温度 | ||||||||
| 320 | 関節3の温度 | ||||||||
| 322 | 関節4の温度 | ||||||||
| 324 | 関節5の温度 | ||||||||
| 326 | 関節6の温度 | ||||||||
| 328 | 関節1のサーボエラーコード | INT32 | 各関節のサーボエラーコード | ||||||
| 330 | 関節2のサーボエラーコード | ||||||||
| 332 | 関節3のサーボエラーコード | ||||||||
| 334 | 関節4のサーボエラーコード | ||||||||
| 336 | 関節5のサーボエラーコード | ||||||||
| 338 | 関節6のサーボエラーコード | ||||||||
| 340 | 関節1のエラーステータス | UINT16 | 現在のサーボエラーステータス 0はエラーなしを示し、 1はエラーありを示す | ||||||
| 341 | 関節2のエラーステータス | ||||||||
| 342 | 関節3のエラーステータス | ||||||||
| 343 | 関節4のエラーステータス | ||||||||
| 344 | 関節5のエラーステータス | ||||||||
| 345 | 関節6のエラーステータス | ||||||||
| 346 | 関節1のイネーブル状態 | UINT16 | 現在のサーボイネーブル状態 0は未イネーブルを示し、 1はイネーブルを示す | ||||||
| 347 | 関節2のイネーブル状態 | ||||||||
| 348 | 関節3のイネーブル状態 | ||||||||
| 349 | 関節4有効状態 | ||||||||
| 350 | 関節5有効状態 | ||||||||
| 351 | 関節6有効状態 | ||||||||
| 352 | 関節1衝突状態 | UINT16 | 現在のサーボ衝突検出状態 0は衝突なし、 1は衝突を示す | ||||||
| 353 | 関節2衝突状態 | ||||||||
| 354 | 関節3衝突状態 | ||||||||
| 355 | 関節4衝突状態 | ||||||||
| 356 | 関節5衝突状態 | ||||||||
| 357 | 関節6衝突状態 | ||||||||
| 358 | 関節1電流 | Float32 | 各関節の電流 | A | |||||
| 360 | 関節2電流 | ||||||||
| 362 | 関節3電流 | ||||||||
| 364 | 関節4電流 | ||||||||
| 366 | 関節5電流 | ||||||||
| 368 | 関節6電流 | ||||||||
| 370 | センサーのトルクX | Float32 | 力制御センサーのトルク | 北 | |||||
| 372 | センサーのトルクY | ||||||||
| 374 | センサーのトルクZ | ||||||||
| 376 | センサーのトルクRX | Nm | |||||||
| 378 | センサーのトルクRY | ||||||||
| 380 | センサーのトルクRZ | ||||||||
| 382 | 関節1位置 | Float32 | 各関節の位置 | ° | |||||
| 384 | 関節2位置 | ||||||||
| 386 | 関節3の位置: | ||||||||
| 388 | 関節4の位置: | ||||||||
| 390 | 関節5の位置: | ||||||||
| 392 | 関節6の位置: | ||||||||
| 394 | 関節速度 | Float32 | 各関節の速度 | °/s | |||||
| 396 | 関節速度 | ||||||||
| 398 | 関節速度 | ||||||||
| 400 | 関節速度 | ||||||||
| 402 | 関節速度 | ||||||||
| 404 | 関節速度 | ||||||||
| 406 | TCP位置X | Float32 | TCP | mm | |||||
| 408 | TCP位置Y | ||||||||
| 410 | TCP位置Z | ||||||||
| 412 | TCP位置RX | ° | |||||||
| 414 | TCP位置RY | ||||||||
| 416 | TCP位置RZ | ||||||||
| 418 | TCP速度制限 | Float32 | TCP速度制限 | mm/s | |||||
| 420 | TCP速度制限 | ||||||||
| 422 | TCP速度制限 | ||||||||
| 424 | TCP速度制限 | °/s | |||||||
| 426 | TCP速度制限 | ||||||||
| 428 | TCP速度制限 | ||||||||
| 430 | TCPオフセットX | Float32 | ツール座標系 | mm | |||||
| 432 | TCPオフセットY | ||||||||
| 434 | TCPオフセットZ | ||||||||
| 436 | TCPオフセットRX | Float32 | ツール座標系 | ° | |||||
| 438 | TCPオフセットRY | ||||||||
| 440 | TCPオフセットRZ | ||||||||
| 442 | ベースオフセットX | Float32 | ユーザー座標系 | mm | |||||
| 444 | ベースオフセットY | ||||||||
| 446 | ベースオフセット_Z | ||||||||
| 448 | ベースオフセット_RX | ° | |||||||
| 450 | ベースオフセット_RY | ||||||||
| 452 | ベースオフセット_RZ | ||||||||
| 454 | 衝突保護停止 | UINT16 | ロボットが衝突:1 ロボットが未衝突:0 | ||||||
| 455 | 緊急停止 | UINT16 | 緊急停止 | ||||||
| 456 | 電源オン | UINT16 | 電源投入 | ||||||
| 457 | ロボット有効 | UINT16 | 有効化 | ||||||
| 458 | ソフトリミットオン | UINT16 | ソフトリミット | ||||||
| 459 | 位置到達 | UINT16 | 目標位置に到達 | ||||||
| 460 | 動作モード | UINT16 | サーボ位置モード:4 アドミッタンス制御モード:2 ドラッグモード:1 その他モード(ジョグなどの操作):0 | ||||||
| 461 | 倍率モードレベル | UINT16 | 第1 レベル倍率:1 第2 レベル倍率:2 保護停止:3 | ||||||
| 462 | 速度倍率 | FLOAT32 | 速度倍率 | ||||||
| 464 | 動作エラーコード | INT32 | エラーコード | ||||||
| 466 | 制御キャビネット温度 | FLOAT32 | 制御キャビネットの温度 | ||||||
| 468 | CAB_AVERAGEPOWER | 制御キャビネットの電力 | |||||||
| 470 | CAB_AVERAGECURRENT | 制御キャビネットの電流 | |||||||
| 472 | UHI_PULES | INT32 | コンベヤのパルス | ||||||
| 474 | UHI_SPEED | コンベヤの移動速度 | |||||||
| 476 | UHI_DIR | UINT16 | コンベヤの移動方向 | ||||||
| 477 | UHI_ORIGIN_PULES | INT32 | コンベヤの原始パルス | ||||||
| 479 | ERROR_TRIGGERED | BOOL | ロボットがエラー発生:1 ロボットがエラーなし:0 | ||||||
| 480 | TCP線速度 | FLOAT32 | ロボットのTCP線速度 | mm/s | |||||
| 482 | CHECKSUM | UINT16 | ロボット安全パラメータのチェックサム | ||||||
| 484 | TCP角速度 | FLOAT32 | ロボットのTCP角速度 | °/s | |||||
| 486 | REDUCE_MODE | ロボットが縮小モードでない: 0 ロボットが縮小モード: 1 | |||||||
| 487 | 予約済み | 予約 | |||||||
| … | 予約済み | 予約 | |||||||
| 555 | 予約済み | 予約 | |||||||
Profinetアドレス表
説明
符号の説明:
- 各データモジュールにはデータ伝送方向の識別子があります。R->PはロボットからPLCへデータを送信することを、P->RはPLCからロボットへデータを送信することを示します。
- DIはデジタル入力を、DOはデジタル出力を、AIはアナログ入力を、AOはアナログ出力を示します。
表の説明:
- 行の数字はBIT位置を表し、合計32ビット(4バイト)で、0から31までのBitです。列の数字は使用しているBIT数を示します。
- 各行にはデータの種類、占有ビット数、単位が記載されています。
- ユニットモジュールの部分では、関連データをひとつのデータモジュールにまとめ、データモジュール名、モジュールコード、バイト数を含みます。
- 右側の2番目の表はPLCの設定を示し、各データモジュールに対応するメインスロット、サブスロット番号、開始位置を含みます。
Robot2PLC
| 伝送タイプ R->P (ロボット->PLC) | PLC設定 | ||||
| ビット | データ | ユニットモジュール | スロット | サブスロット | I入力アドレス |
| 0 | ロボットシリアル番号 (int32) | ロボット状態、 安全設定 1_R->P_Robot_Safety 36バイト | 1 | 1 | 0 |
| 32 | サーボバージョン番号 (int32) | 4 | |||
| 64 | CAB_AVERAGECURRENT (float) [A] | 8 | |||
| 96 | CAB_AVERAGEPOWER (float) [W] | 12 | |||
| 128 | CAB_TEMPERATURE (float) [℃] | 16 | |||
| 160 | 電源オン | 20.0 | |||
| 160+1 | ロボット有効 | 20.1 | |||
| 160+2 | 予約済み | 20.2 | |||
| 192 | MOTION_ERRCODE (int32) | 24 | |||
| 224 | 動作モード (uint8) | 28 | |||
| 224+8 | 倍率モードレベル (uint8) | 29 | |||
| 224+16 | 緊急停止 | 30.0 | |||
| 224+17 | 衝突保護停止 | 30.1 | |||
| 224+18 | ソフトリミットオン | 30.2 | |||
| 224+19 | REDUCE_MODE | 30.3 | |||
| 224+20 | 予約済み | 30.4 | |||
| 256 | ロボット安全パラメータチェックサム(int32) | 32 | |||
| 288 | 関節1電圧(float)[V] | ジョイントパラメータ 2_R->P_ジョイント 172+48 バイト | 2 | 1 | 36 |
| 320 | 関節2電圧(float)[V] | 40 | |||
| 352 | 関節3電圧(float)[V] | 44 | |||
| 384 | 関節4電圧(float)[V] | 48 | |||
| 416 | 関節5電圧(float)[V] | 52 | |||
| 448 | 関節6電圧(float)[V] | 56 | |||
| 480 | 関節1電流(float)[A] | 60 | |||
| 512 | 関節2電流(float)[A] | 64 | |||
| 544 | 関節3電流(float)[A] | 68 | |||
| 576 | 関節4電流(float)[A] | 72 | |||
| 608 | 関節5電流(float)[A] | 76 | |||
| 640 | 関節6電流(float)[A] | 80 | |||
| 672 | 関節1位置(float)[°] | 84 | |||
| 704 | 関節2位置(float)[°] | 88 | |||
| 736 | 関節3位置(float)[°] | 92 | |||
| 768 | 関節4位置(float)[°] | 96 | |||
| 800 | 関節5位置(float)[°] | 100 | |||
| 832 | 関節6位置(float)[°] | 104 | |||
| 864 | 関節1速度(float)[°/s] | 108 | |||
| 896 | 関節2速度(float)[°/s] | 112 | |||
| 928 | 関節3速度(float)[°/s] | 116 | |||
| 960 | 関節4速度(float)[°/s] | 120 | |||
| 992 | 関節5速度(float)[°/s] | 124 | |||
| 1024 | 関節6速度(float)[°/s] | 128 | |||
| 1088 | 関節1温度(float)[℃] | 132 | |||
| 1120 | 関節2温度(float)[℃] | 136 | |||
| 1152 | 関節3温度(float)[℃] | 140 | |||
| 1184 | 関節4温度(float)[℃] | 144 | |||
| 1216 | 関節5温度(float)[℃] | 148 | |||
| 1248 | 関節6温度(float)[℃] | 152 | |||
| 1280 | 関節1トルク(float)[Nm] | 156 | |||
| 1312 | 関節2トルク(float)[Nm] | 160 | |||
| 1344 | 関節3トルク(float)[Nm] | 164 | |||
| 1376 | 関節4トルク(float)[Nm] | 168 | |||
| 1408 | 関節5トルク(float)[Nm] | 172 | |||
| 1440 | 関節6トルク(float)[Nm] | 176 | |||
| 1472 | 関節1サーボエラーコード(int32) | 180 | |||
| 1504 | 関節2サーボエラーコード(int32) | 184 | |||
| 1536 | 関節3サーボエラーコード(int32) | 188 | |||
| 1568 | 関節4サーボエラーコード(int32) | 192 | |||
| 1600 | 関節5サーボエラーコード(int32) | 196 | |||
| 1632 | 関節6サーボエラーコード(int32) | 200 | |||
| 1664 | 関節エラー状態(0: エラーなし、1: エラーあり) (uint8) | 204 | |||
| 1664+8 | 関節イネーブル状態(0: 無効、1: 有効) (uint8) | 205 | |||
| 1664+16 | 関節衝突状態(0: 未衝突、1: 衝突) (uint8) | 206 | |||
| 1664+24 | 予約済み | 207 | |||
| 1696 | 予約(float)48 バイト | 208 | |||
| 2048 | TCP位置X(float)[mm] | TCPとBASEパラメータ 3_R->P_TCP_BASE 104+40 バイト | 3 | 1 | 256 |
| 2080 | TCP位置Y(float)[mm] | 260 | |||
| 2112 | TCP位置Z(float)[mm] | 264 | |||
| 2144 | TCP位置RX(float)[°] | 268 | |||
| 2176 | TCP位置RY(float)[°] | 272 | |||
| 2208 | TCP位置RZ(float)[°] | 276 | |||
| 2240 | TCP速度X(float)[mm/s] | 280 | |||
| 2272 | TCP速度Y(float)[mm/s] | 284 | |||
| 2304 | TCP速度Z(float)[mm/s] | 288 | |||
| 2336 | TCP速度RX(float)[°/s] | 292 | |||
| 2368 | TCP速度RY(float)[°/s] | 296 | |||
| 2400 | TCP速度RZ(float)[°/s] | 300 | |||
| 2432 | TCPオフセットX(float)[mm] | 304 | |||
| 2464 | TCPオフセットY(float)[mm] | 308 | |||
| 2496 | TCPオフセットZ(float)[mm] | 312 | |||
| 2528 | TCPオフセットRX(float)[°] | 316 | |||
| 2560 | TCPオフセットRY(float)[°] | 320 | |||
| 2592 | TCPオフセットRZ(float)[°] | 324 | |||
| 2624 | ベースオフセットX(float)[mm] | 328 | |||
| 2656 | ベースオフセットY(float)[mm] | 332 | |||
| 2688 | ベースオフセットZ(float)[mm] | 336 | |||
| 2720 | ベースオフセットRX(float)[°] | 340 | |||
| 2752 | ベースオフセットRY(float)[°] | 344 | |||
| 2784 | ベースオフセットRZ(float)[°] | 348 | |||
| 2816 | TCP線速度(float)[mm/s] | 352 | |||
| 2848 | TCP角速度(float)[°/s] | 356 | |||
| 2880 | 予約 40バイト | 360 | |||
| 3200 | ブールレジスタ 0-31 | ブール出力レジスタ DO 0~63 4_R->P_DO 8+4 バイト | 4 | 1 | 400 |
| 3232 | ブールレジスタ 32-63 | 404 | |||
| 3264 | 予約(4 バイト) | 408 | |||
| 3296 | 整数レジスタ 0 | 整数出力レジスタ AO 0~31 5_R->P_AO_INT 128 バイト | 5 | 1 | 412 |
| 3328 | 整数レジスタ 1 | 416 | |||
| 3360 | 整数レジスタ 2 | 420 | |||
| 3392 | 整数レジスタ 3 | 424 | |||
| 3424 | 整数レジスタ 4 | 428 | |||
| 3456 | 整数レジスタ 5 | 432 | |||
| 3488 | 整数レジスタ 6 | 436 | |||
| 3520 | 整数レジスタ 7 | 440 | |||
| 3552 | 整数レジスタ 8 | 444 | |||
| 3584 | 整数レジスタ 9 | 448 | |||
| 3616 | 整数レジスタ 10 | 452 | |||
| 3648 | 整数レジスタ 11 | 456 | |||
| 3680 | 整数レジスタ 12 | 460 | |||
| 3712 | 整数レジスタ 13 | 464 | |||
| 3744 | 整数レジスタ 14 | 468 | |||
| 3776 | 整数レジスタ 15 | 472 | |||
| 3808 | 整数レジスタ 16 | 476 | |||
| 3840 | 整数レジスタ 17 | 480 | |||
| 3872 | 整数レジスタ 18 | 484 | |||
| 3904 | 整数レジスタ 19 | 488 | |||
| 3936 | 整数レジスタ 20 | 492 | |||
| 3968 | 整数レジスタ 21 | 496 | |||
| 4000 | 整数レジスタ 22 | 500 | |||
| 4032 | 整数レジスタ 23 | 504 | |||
| 4064 | 整数レジスタ 24 | 508 | |||
| 4096 | 整数レジスタ 25 | 512 | |||
| 4128 | 整数レジスタ 26 | 516 | |||
| 4160 | 整数レジスタ 27 | 520 | |||
| 4192 | 整数レジスタ 28 | 524 | |||
| 4224 | 整数レジスタ 29 | 528 | |||
| 4256 | 整数レジスタ 30 | 532 | |||
| 4288 | 整数レジスタ 31 | 536 | |||
| 4320 | 浮動小数点レジスタ 0 | 浮動小数点出力レジスタ AO 0~31 6_R->P_AO_FLOAT 128 バイト | 6 | 1 | 540 |
| 4352 | 浮動小数点レジスタ 1 | 544 | |||
| 4384 | 浮動小数点レジスタ 2 | 548 | |||
| 4416 | 浮動小数点レジスタ 3 | 552 | |||
| 4448 | 浮動小数点レジスタ 4 | 556 | |||
| 4480 | 浮動小数点レジスタ 5 | 560 | |||
| 4512 | 浮動小数点レジスタ 6 | 564 | |||
| 4544 | 浮動小数点レジスタ 7 | 568 | |||
| 4576 | 浮動小数点レジスタ 8 | 572 | |||
| 4608 | 浮動小数点レジスタ 9 | 576 | |||
| 4640 | 浮動小数点レジスタ 10 | 580 | |||
| 4672 | 浮動小数点レジスタ 11 | 584 | |||
| 4704 | 浮動小数点レジスタ 12 | 588 | |||
| 4736 | 浮動小数点レジスタ 13 | 592 | |||
| 4768 | 浮動小数点レジスタ 14 | 596 | |||
| 4800 | 浮動小数点レジスタ 15 | 600 | |||
| 4832 | 浮動小数点レジスタ 16 | 604 | |||
| 4864 | 浮動小数点レジスタ 17 | 608 | |||
| 4896 | 浮動小数点レジスタ 18 | 612 | |||
| 4928 | 浮動小数点レジスタ 19 | 616 | |||
| 4960 | 浮動小数点レジスタ 20 | 620 | |||
| 4992 | 浮動小数点レジスタ 21 | 624 | |||
| 5024 | 浮動小数点レジスタ 22 | 628 | |||
| 5056 | 浮動小数点レジスタ 23 | 632 | |||
| 5088 | 浮動小数点レジスタ 24 | 636 | |||
| 5120 | 浮動小数点レジスタ 25 | 640 | |||
| 5152 | 浮動小数点レジスタ 26 | 644 | |||
| 5184 | 浮動小数点レジスタ 27 | 648 | |||
| 5216 | 浮動小数点レジスタ 28 | 652 | |||
| 5248 | 浮動小数点レジスタ 29 | 656 | |||
| 5280 | 浮動小数点レジスタ 30 | 660 | |||
| 5312 | 浮動小数点レジスタ 31 | 664 | |||
PLC2Robot
| 転送タイプ P->R(PLC->ロボット) | PLC設定 | ||||
| ビット | データ | ユニットモジュール | スロット | サブスロット | Q出力アドレス |
| 0 | ブールレジスタ 0-31 | ブール入力レジスタ DI 0~64 7_P->R_DI 8+4 バイト | 7 | 1 | 0 |
| 32 | ブールレジスタ 32-63 | 4 | |||
| 64 | 予約(4 バイト) | 8 | |||
| 96 | 整数レジスタ 0 | 整数入力レジスタ AI 0~31 8_P->R_AI_INT 128 バイト | 8 | 1 | 12 |
| 128 | 整数レジスタ 1 | 16 | |||
| 160 | 整数レジスタ 2 | 20 | |||
| 192 | 整数レジスタ 3 | 24 | |||
| 224 | 整数レジスタ 4 | 28 | |||
| 256 | 整数レジスタ 5 | 32 | |||
| 288 | 整数レジスタ 6 | 36 | |||
| 320 | 整数レジスタ 7 | 40 | |||
| 352 | 整数レジスタ 8 | 44 | |||
| 384 | 整数レジスタ 9 | 48 | |||
| 416 | 整数レジスタ 10 | 52 | |||
| 448 | 整数レジスタ 11 | 56 | |||
| 480 | 整数レジスタ 12 | 60 | |||
| 512 | 整数レジスタ 13 | 64 | |||
| 544 | 整数レジスタ 14 | 68 | |||
| 576 | 整数レジスタ 15 | 72 | |||
| 608 | 整数レジスタ 16 | 76 | |||
| 640 | 整数レジスタ 17 | 80 | |||
| 672 | 整数レジスタ 18 | 84 | |||
| 704 | 整数レジスタ 19 | 88 | |||
| 736 | 整数レジスタ 20 | 92 | |||
| 768 | 整数レジスタ 21 | 96 | |||
| 800 | 整数レジスタ 22 | 100 | |||
| 832 | 整数レジスタ 23 | 104 | |||
| 864 | 整数レジスタ 24 | 108 | |||
| 896 | 整数レジスタ 25 | 112 | |||
| 928 | 整数レジスタ 26 | 116 | |||
| 960 | 整数レジスタ 27 | 120 | |||
| 992 | 整数レジスタ 28 | 124 | |||
| 1024 | 整数レジスタ 29 | 128 | |||
| 1056 | 整数レジスタ 30 | 132 | |||
| 1088 | 整数レジスタ 31 | 136 | |||
| 1120 | 浮動小数点レジスタ 0 | 浮動小数点入力レジスタ AI 0~31 9_P->R_AI_FLOAT 128 バイト | 9 | 1 | 140 |
| 1152 | 浮動小数点レジスタ 1 | 144 | |||
| 1184 | 浮動小数点レジスタ 2 | 148 | |||
| 1216 | 浮動小数点レジスタ 3 | 152 | |||
| 1248 | 浮動小数点レジスタ 4 | 156 | |||
| 1280 | 浮動小数点レジスタ 5 | 160 | |||
| 1312 | 浮動小数点レジスタ 6 | 164 | |||
| 1344 | 浮動小数点レジスタ 7 | 168 | |||
| 1376 | 浮動小数点レジスタ 8 | 172 | |||
| 1408 | 浮動小数点レジスタ 9 | 176 | |||
| 1440 | 浮動小数点レジスタ 10 | 180 | |||
| 1472 | 浮動小数点レジスタ 11 | 184 | |||
| 1504 | 浮動小数点レジスタ 12 | 188 | |||
| 1536 | 浮動小数点レジスタ 13 | 192 | |||
| 1568 | 浮動小数点レジスタ 14 | 196 | |||
| 1600 | 浮動小数点レジスタ 15 | 200 | |||
| 1632 | 浮動小数点レジスタ 16 | 204 | |||
| 1664 | 浮動小数点レジスタ 17 | 208 | |||
| 1696 | 浮動小数点レジスタ 18 | 212 | |||
| 1728 | 浮動小数点レジスタ 19 | 216 | |||
| 1760 | 浮動小数点レジスタ 20 | 220 | |||
| 1792 | 浮動小数点レジスタ 21 | 224 | |||
| 1824 | 浮動小数点レジスタ 22 | 228 | |||
| 1856 | 浮動小数点レジスタ 23 | 232 | |||
| 1888 | 浮動小数点レジスタ 24 | 236 | |||
| 1920 | 浮動小数点レジスタ 25 | 240 | |||
| 1952 | 浮動小数点レジスタ 26 | 244 | |||
| 1984 | 浮動小数点レジスタ 27 | 248 | |||
| 2016 | 浮動小数点レジスタ 28 | 252 | |||
| 2048 | 浮動小数点レジスタ 29 | 256 | |||
| 2080 | 浮動小数点レジスタ 30 | 260 | |||
| 2112 | 浮動小数点レジスタ 31 | 264 | |||
スクリプト関数
| レジスタ | データ型 | スクリプト関数 | インデックス (CAB 1.0 ) | インデックス (CAB 2.1) | インデックス (Mini CAB) |
| DO 0〜63 | ブール値 | get_digital_output(type, index) set_digital_output(type, index, tarState, immed) | 136 - 199 | 144 - 207 | 135 - 198 |
| AO 0〜31 | 整数(int) | get_analog_output(type, index) set_analog_output(type, index, tarValue, immed) | 64 - 95 | 66 - 97 | 65 - 96 |
| AO 32〜63 | 浮動小数点数(float) | get_analog_output(type, index) set_analog_output(type, index, tarValue, immed) | 96 - 127 | 98 - 129 | 97 - 128 |
| レジスタ | データ型 | スクリプト関数 | インデックス (CAB 1.0 ) | インデックス (CAB 2.1) | インデックス (Mini CAB) |
| DI 0〜63 | ブール値 | get_digital_input(type, index) | 136 - 199 | 144 - 207 | 135 - 198 |
| AI 0〜31 | 整数(int) | get_analog_input(type, index) | 72 - 103 | 66 - 97 | 64 - 95 |
| AI 32〜63 | 浮動小数点数(float) | get_analog_input(type, index) | 104 - 135 | 98 - 129 | 96 - 127 |
EtherNet/IPアドレス表
説明
符号の説明:
- 各データモジュールにはデータ伝送方向の識別子があります。R->PはロボットからPLCへデータを送信することを、P->RはPLCからロボットへデータを送信することを示します。
- DIはデジタル入力を、DOはデジタル出力を、AIはアナログ入力を、AOはアナログ出力を示します。
表の説明:
- 行の数字はBIT位置を表し、合計32ビット(4バイト)で、0から31までのBitです。列の数字は使用しているBIT数を示します。
- 各行にはデータの種類、占有ビット数、単位が記載されています。
- ユニットモジュールの部分では、関連データをひとつのデータモジュールにまとめ、データモジュール名、モジュールコード、バイト数を含みます。
Robot2PLC
| 伝送タイプ R->P (ロボット->PLC) | PLC設定 合計492バイト | ||
| ビット | データ | ユニットモジュール | I入力アドレス |
| 0 | ロボットシリアル番号 (int32) | ロボット状態、 安全設定 1_R->P_Robot_Safety 20バイト | 0 |
| 32 | サーボバージョン番号 (int32) | 4 | |
| 64 | 電源オン | 8.0 | |
| 64+1 | ロボット有効 | 8.1 | |
| 64+2 | 予約済み | 8.2 | |
| 96 | MOTION_ERRCODE (int32) | 12 | |
| 128 | 動作モード (uint8) | 16 | |
| 128+8 | 倍率モードレベル (uint8) | 17 | |
| 128+16 | 緊急停止 | 18.0 | |
| 128+17 | 衝突保護停止 | 18.1 | |
| 128+18 | ソフトリミットオン | 18.2 | |
| 128+19 | REDUCE_MODE | 18.3 | |
| 128+20 | 予約済み | 18.4 | |
| 160 | 関節1電流(float)[A] | ジョイントパラメータ 2_R->P_Joints 128バイト + 16バイト | 20 |
| 192 | 関節2電流(float)[A] | 24 | |
| 224 | 関節3電流(float)[A] | 28 | |
| 256 | 関節4電流(float)[A] | 32 | |
| 288 | 関節5電流(float)[A] | 36 | |
| 320 | 関節6電流(float)[A] | 40 | |
| 352 | 関節1位置(float)[°] | 44 | |
| 384 | 関節2位置(float)[°] | 48 | |
| 416 | 関節3位置(float)[°] | 52 | |
| 448 | 関節4位置(float)[°] | 56 | |
| 480 | 関節5位置(float)[°] | 60 | |
| 512 | 関節6位置(float)[°] | 64 | |
| 544 | 関節1速度(float)[°/s] | 68 | |
| 576 | 関節2速度(float)[°/s] | 72 | |
| 608 | 関節3速度(float)[°/s] | 76 | |
| 640 | 関節4速度(float)[°/s] | 80 | |
| 672 | 関節5速度(float)[°/s] | 84 | |
| 704 | 関節6速度(float)[°/s] | 88 | |
| 736 | 関節1トルク(float)[Nm] | 92 | |
| 768 | 関節2トルク(float)[Nm] | 96 | |
| 800 | 関節3トルク(float)[Nm] | 100 | |
| 832 | 関節4トルク(float)[Nm] | 104 | |
| 864 | 関節5トルク(float)[Nm] | 108 | |
| 896 | 関節6トルク(float)[Nm] | 112 | |
| 928 | 関節1サーボエラーコード(int32) | 116 | |
| 960 | 関節2サーボエラーコード(int32) | 120 | |
| 992 | 関節3サーボエラーコード(int32) | 124 | |
| 1024 | 関節4サーボエラーコード(int32) | 128 | |
| 1056 | 関節5サーボエラーコード(int32) | 132 | |
| 1088 | 関節6サーボエラーコード(int32) | 136 | |
| 1120 | 関節エラー状態(0: エラーなし、1: エラーあり) (uint8) | 140 | |
| 1120+8 | 関節イネーブル状態(0: 無効、1: 有効) (uint8) | 141 | |
| 1120+16 | 関節衝突状態(0: 未衝突、1: 衝突) (uint8) | 142 | |
| 1120+24 | 予約済み | 143 | |
| 1152 | ロボット安全パラメータチェックサム(int32) | 144 | |
| 1184 | 予約領域 16バイト | 148 | |
| 1312 | センサーのモーメントx(float)[Nm] | TCPパラメータ 3_R->P_TCP 80バイト + 44バイト | 164 |
| 1344 | センサーのモーメントy(float)[Nm] | 168 | |
| 1376 | センサー トルク z(float)[Nm] | 172 | |
| 1408 | センサー トルク rx(float)[Nm] | 176 | |
| 1440 | センサー トルク ry(float)[Nm] | 180 | |
| 1472 | センサー トルク rz(float)[Nm] | 184 | |
| 1504 | TCP位置X(float)[mm] | 188 | |
| 1536 | TCP位置Y(float)[mm] | 192 | |
| 1568 | TCP位置Z(float)[mm] | 196 | |
| 1600 | TCP位置RX(float)[°] | 200 | |
| 1632 | TCP位置RY(float)[°] | 204 | |
| 1664 | TCP位置RZ(float)[°] | 208 | |
| 1696 | TCPオフセットX(float)[mm] | 212 | |
| 1728 | TCPオフセットY(float)[mm] | 216 | |
| 1760 | TCPオフセットZ(float)[mm] | 220 | |
| 1792 | TCPオフセットRX(float)[°] | 224 | |
| 1824 | TCPオフセットRY(float)[°] | 228 | |
| 1856 | TCPオフセットRZ(float)[°] | 232 | |
| 1888 | TCP線速度(float)[mm/s] | 236 | |
| 1920 | TCP角速度(float)[°/s] | 240 | |
| 1952 | 予約済み 44 バイト | 244 | |
| 2304 | ブールレジスタ 0-31 | ブール出力レジスタ DO 0~63 4_R->P_DO 8+4 バイト | 288 |
| 2336 | ブールレジスタ 32-63 | 292 | |
| 2368 | 予約(4 バイト) | 296 | |
| 2400 | 整数レジスタ 0 | 整数出力レジスタ AO 0~23 5_R->P_AO_INT 96 バイト | 300 |
| 2432 | 整数レジスタ 1 | 304 | |
| 2464 | 整数レジスタ 2 | 308 | |
| 2496 | 整数レジスタ 3 | 312 | |
| 2528 | 整数レジスタ 4 | 316 | |
| 2560 | 整数レジスタ 5 | 320 | |
| 2592 | 整数レジスタ 6 | 324 | |
| 2624 | 整数レジスタ 7 | 328 | |
| 2656 | 整数レジスタ 8 | 332 | |
| 2688 | 整数レジスタ 9 | 336 | |
| 2720 | 整数レジスタ 10 | 340 | |
| 2752 | 整数レジスタ 11 | 344 | |
| 2784 | 整数レジスタ 12 | 348 | |
| 2816 | 整数レジスタ 13 | 352 | |
| 2848 | 整数レジスタ 14 | 356 | |
| 2880 | 整数レジスタ 15 | 360 | |
| 2912 | 整数レジスタ 16 | 364 | |
| 2944 | 整数レジスタ 17 | 368 | |
| 2976 | 整数レジスタ 18 | 372 | |
| 3008 | 整数レジスタ 19 | 376 | |
| 3040 | 整数レジスタ 20 | 380 | |
| 3072 | 整数レジスタ 21 | 384 | |
| 3104 | 整数レジスタ 22 | 388 | |
| 3136 | 整数レジスタ 23 | 392 | |
| 3168 | 浮動小数点レジスタ 0 | 浮動小数点出力レジスタ AO 0~23 6_R->P_AO_FLOAT 96 バイト | 396 |
| 3200 | 浮動小数点レジスタ 1 | 400 | |
| 3232 | 浮動小数点レジスタ 2 | 404 | |
| 3264 | 浮動小数点レジスタ 3 | 408 | |
| 3296 | 浮動小数点レジスタ 4 | 412 | |
| 3328 | 浮動小数点レジスタ 5 | 416 | |
| 3360 | 浮動小数点レジスタ 6 | 420 | |
| 3392 | 浮動小数点レジスタ 7 | 424 | |
| 3424 | 浮動小数点レジスタ 8 | 428 | |
| 3456 | 浮動小数点レジスタ 9 | 432 | |
| 3488 | 浮動小数点レジスタ 10 | 436 | |
| 3520 | 浮動小数点レジスタ 11 | 440 | |
| 3552 | 浮動小数点レジスタ 12 | 444 | |
| 3584 | 浮動小数点レジスタ 13 | 448 | |
| 3616 | 浮動小数点レジスタ 14 | 452 | |
| 3648 | 浮動小数点レジスタ 15 | 456 | |
| 3680 | 浮動小数点レジスタ 16 | 460 | |
| 3712 | 浮動小数点レジスタ 17 | 464 | |
| 3744 | 浮動小数点レジスタ 18 | 468 | |
| 3776 | 浮動小数点レジスタ 19 | 472 | |
| 3808 | 浮動小数点レジスタ 20 | 476 | |
| 3840 | 浮動小数点レジスタ 21 | 480 | |
| 3872 | 浮動小数点レジスタ 22 | 484 | |
| 3904 | 浮動小数点レジスタ 23 | 488 | |
PLC2Robot
| 転送タイプ P->R(PLC->ロボット) | PLC 設定 合計:492 バイト | ||
| ビット | データ | ユニットモジュール(データグループ) | Q出力アドレス |
| 0 | ブールレジスタ 0-31 | ブール入力レジスタ DI 0~63 7_P->R_DI 8+4 バイト | 0 |
| 32 | ブールレジスタ 32-63 | 4 | |
| 64 | 予約(4 バイト) | 8 | |
| 96 | 整数レジスタ 0 | 整数入力レジスタ AI 0~23 8_P->R_AI_INT 96 バイト | 12 |
| 128 | 整数レジスタ 1 | 16 | |
| 160 | 整数レジスタ 2 | 20 | |
| 192 | 整数レジスタ 3 | 24 | |
| 224 | 整数レジスタ 4 | 28 | |
| 256 | 整数レジスタ 5 | 32 | |
| 288 | 整数レジスタ 6 | 36 | |
| 320 | 整数レジスタ 7 | 40 | |
| 352 | 整数レジスタ 8 | 44 | |
| 384 | 整数レジスタ 9 | 48 | |
| 416 | 整数レジスタ 10 | 52 | |
| 448 | 整数レジスタ 11 | 56 | |
| 480 | 整数レジスタ 12 | 60 | |
| 512 | 整数レジスタ 13 | 64 | |
| 544 | 整数レジスタ 14 | 68 | |
| 576 | 整数レジスタ 15 | 72 | |
| 608 | 整数レジスタ 16 | 76 | |
| 640 | 整数レジスタ 17 | 80 | |
| 672 | 整数レジスタ 18 | 84 | |
| 704 | 整数レジスタ 19 | 88 | |
| 736 | 整数レジスタ 20 | 92 | |
| 768 | 整数レジスタ 21 | 96 | |
| 800 | 整数レジスタ 22 | 100 | |
| 832 | 整数レジスタ 23 | 104 | |
| 864 | 浮動小数点レジスタ 0 | 浮動小数点入力レジスタ AI 0~23 9_P->R_AI_FLOAT 96 バイト | 108 |
| 896 | 浮動小数点レジスタ 1 | 112 | |
| 928 | 浮動小数点レジスタ 2 | 116 | |
| 960 | 浮動小数点レジスタ 3 | 120 | |
| 992 | 浮動小数点レジスタ 4 | 124 | |
| 1024 | 浮動小数点レジスタ 5 | 128 | |
| 1056 | 浮動小数点レジスタ 6 | 132 | |
| 1088 | 浮動小数点レジスタ 7 | 136 | |
| 1120 | 浮動小数点レジスタ 8 | 140 | |
| 1152 | 浮動小数点レジスタ 9 | 144 | |
| 1184 | 浮動小数点レジスタ 10 | 148 | |
| 1216 | 浮動小数点レジスタ 11 | 152 | |
| 1248 | 浮動小数点レジスタ 12 | 156 | |
| 1280 | 浮動小数点レジスタ 13 | 160 | |
| 1312 | 浮動小数点レジスタ 14 | 164 | |
| 1344 | 浮動小数点レジスタ 15 | 168 | |
| 1376 | 浮動小数点レジスタ 16 | 172 | |
| 1408 | 浮動小数点レジスタ 17 | 176 | |
| 1440 | 浮動小数点レジスタ 18 | 180 | |
| 1472 | 浮動小数点レジスタ 19 | 184 | |
| 1504 | 浮動小数点レジスタ 20 | 188 | |
| 1536 | 浮動小数点レジスタ 21 | 192 | |
| 1568 | 浮動小数点レジスタ 22 | 196 | |
| 1600 | 浮動小数点レジスタ 23 | 200 | |
| 1632 | 予約済み | 予約済み 288 バイト | 204 |
| … | … | ||
| … | … | ||
| 3904 | 488 | ||
スクリプト関数
| レジスタ | データ型 | スクリプト関数 | インデックス |
| DO 0〜63 | ブール値 | get_digital_output(type, index) set_digital_output(type, index, tarState, immed) | 0-63 |
| AO 0-23 | 整数(int) | get_analog_output(type, index) set_analog_output(type, index, tarValue, immed) | 0-23 |
| AO 24-47 | 浮動小数点数(float) | get_analog_output(type, index) set_analog_output(type, index, tarValue, immed) | 24-47 |
| レジスタ | データ型 | スクリプト関数 | インデックス |
| DI 0〜63 | ブール値 | get_digital_input(type, index) | 0-63 |
| AI 0-23 | 整数(int) | get_analog_input(type, index) | 0-23 |
| AI 24-47 | 浮動小数点数(float) | get_analog_input(type, index) | 24-47 |
