0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

NX1P2(OMRON)とRCON,SCON(IAI)をEtherCATで動かす方法(動作プログラム編)

0
Last updated at Posted at 2026-04-27

NX1P2(OMRON)とRCON,SCON(IAI)をEtherCATで動かす方法(動作プログラム編)

機器と時間があったので接続して適当に動かしてみました.

備忘録的な記録として残しますのでご参考までに.

EtherCATの通信設定等は通信設定編を参照ください。

モーション制御設定等はモーション制御設定編を参照ください。

関連記事

NX1P2(OMRON)とRCON,SCON(IAI)をEtherCATで動かす方法(通信設定編)

NX1P2(OMRON)とRCON,SCON(IAI)をEtherCATで動かす方法(モーション制御設定編)

NX1P2(OMRON)とRCON,SCON(IAI)をEtherCATで動かす方法(動作プログラム編) ← 本記事

機器構成

  • PLC(モーションコントローラ):NX1P2-1140DT (OMRON)
  • EtherCATモーションドライバ①(以降EMD1と表記):RCON-GW-ECM,RCON-PC-2 (IAI)

    (接続メカ:RCP6-SA4C-WA-35P-16-500-P5-S x2台)
  • EtherCATモーションドライバ②(以降EMD2と表記):SCON2-CG-SM-EC-0-1 (IAI)

    (接続メカ:RCS2-SA7C-I-60-16-400-T2-M)
  • EtherCATコントローラ(以降ECDと表記):SCON-CA-60IB-EC-0-2 (IAI)

    (接続メカ:RCS2-SA7R-I-60-16-400-T2-M-BL)

参考資料

電子カム動作用仮想軸設定

仮想軸をMasterとしてSlave2軸の電子カムを構成するため,モーション制御軸を追加し下記の通り設定.

(設定方法の詳細はモーション制御設定編を参照)

  1. 軸基本設定
    • 軸使用:使用軸
    • 軸種別:仮想サーボ軸
  2. 単位変換設定
    • 表示単位:degree
    • モータ1回転のパルス数:36000 pulse/rev
    • 減速機 使用/未使用:未使用
    • モータ1回転の移動量:360 degree/rev
  3. 動作設定
    • 最高速度:180 degree/s
    • 起動速度:0 degree/s
    • 最大加速度:360 degree/s
    • 最大減速度:360 degree/s

カムデータの作成

"MC_CamIn"FB用いて2軸(主軸・従軸)での連動動作を行うための設定。

  1. 左端のツリー表示の"構成・設定"-"モーション制御設定"-"カムデータ設定"を右クリックし,"追加"-"CamProfile"をクリック.
  2. ツリー表示に追加された"CamProfile0"をダブルクリック.
  3. 必要なプロット数分"追加"の[+]ボタンをクリック.
  4. 各プロットデータ(主軸座標,従軸座標,カム曲線特性)を入力.

    image-7.png

独自ファンクションブロック(FB)のインストール

IAI製モーションドライバの場合,IAI独自の原点復帰用FBが必要なため,下記の通りインストールを行う.

※私はSDO方式の原点復帰FBを使用しますが,PDO方式を使用する場合には対象のFBをダウンロードし使用すること.

  1. メニューバーから"プロジェクト"-"ライブラリ"-"ライブラリ参照"をクリック.
  2. ファイル参照の[+]ボタンをクリック.
  3. IAIホームページからダウンロードしたFB(IAI_HomeForSDOAccess_V_1_0_0.slr)を開く.
  4. "ライブラリ参照"画面中央下の"OK"ボタンをクリック.

IAI製モーションドライバ用原点復帰FB(IAI_HomeForSDOAccess_V_1_0_0)について

私がプログラム立ち上げで引っかかったものについて補足解説.

詳細についてはRCONSCON2などモーションドライバ用取説の"付録"の章を確認のこと.

  • 入出力変数
    • Axis(_sAXIS_Ref型):サーボオン(運転可否)や原点復帰の対象軸を指定,MC_Axis000は"_MC_AX[0]"で表記可能
  • 入力変数
    • IAI_AxNo(UINT型):対象ノード内での軸番号(0スタート)を入力.RCONの2軸目なら"1"を入力.
    • MC_Power_Enable(BOOL型):対象軸へのサーボオン(運転可)指令
    • HomeEnable(BOOL型):対象軸がサーボオン(運転可)状態で本入力をTRUEにすると原点復帰動作を実施し,モーションコントローラと原点情報のリンクを取る.
  • 注意事項
    • 本FBは内部に標準の"MC_Power"FBを含んでいるため,同軸に対する"MC_Power"FBの使用は不可.
    • HomeEnableの状態をFALSEにするとモーションコントローラとの原点情報リンクが解かれるため,起動後はTRUEを原則維持すること.

ラダー図プログラムの作成

稚拙なラダー図でお目汚ししますが,本職のラダープログラマではありませんので悪しからず.

  1. 左端のツリー表示の"プログラミング"-"POU"-"プログラム"-"Program0"-"Section0"をダブルクリック.

  2. 表示されたラダー図画面に右端のツールボックスからFBを追加し,各入出力の設定・接続等を実施.

    • 全軸同時サーボオン指令を行うと電源負荷が急変するため時間差で投入.

      モーションドライバ軸に対し,サーボオン状態を確認後原点復帰指令を実施.(EMD1ax1およびEMD2の原点復帰部は割愛)

      image-3.png

    • 非モーションドライバ軸に対し,状態によって2パターンの復帰指令を実施.

      image-4.png

    • カム動作設定(表示画像はMaster:仮想軸,Slave:EMD2)

      image-5.png

    • 非モーションドライバで似た追従動作ができるか検証.(20ms周期でスタート指令DSTRをON/OFF)

      image-10.png

    • 仮想軸の動作指令.

      image-8.png

  3. メニューバーから"コントローラ"-"転送"-"パソコン→コントローラ..."をクリック.

プログラム試運転

  1. メニューバーから"コントローラ"-"オンライン"をクリック.
  2. 接点"ALL_SON"を右クリックし,"TRUE"をクリック.
  3. EMD1ax0 -> EMD1ax1 -> EMD2 -> ECDの順にサーボオンしたことを確認.
  4. EMD1ax0_ActHomingをTRUEに変更し,原点復帰動作が完了することを確認.(同様にEMD1ax1,EMD2も実施)
  5. ECD_ActHomingをTRUEに変更し,原点復帰動作もしくは原点位置への移動が行われることを確認.
  6. EMD1の2軸をカム機能を使用した連動動作の確認.

    EMD1ax0_CamInおよびEMD1ax1_CamInをTRUEに変更,CamIn命令は立ち上がり受付なのでFALSEに戻す.

    MC_MoveAbsoluteのFBで仮想軸の位置が変動.(仮想なので動き自体は見えないが)

    仮想軸に連動してEMD1ax0およびEMD1ax1が動作することを確認.

    カム機能を解除するためEMD1ax0_CamOutおよびEMD1ax1_CamOutをTRUEにする.(こちらも立ち上がり受付)
  7. 上記6と同様にEMD2とECDで動きの違いが見て取れるか確認.

    非モーション軸に指令する場合,目標となる指令位置で停止しようとするためカクカクとした動きとなることを確認.

以上

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?