JTEKT#JX-BASIC Tutorial Part6_高速入力を使ってみよう

今回はJX-BASIC Part5になり、ボートに内蔵されている高速入力を利用しJTEKTのエンコーダとつながり、Counter値を取得する方法について説明します。JX-BASICはJTEKTが2022年12月から発売した、20命令語のみの薄型・省スペースの基板型シンプルコントローラになります。特徴としては20の命令語に絞り、シンプル機能(電源、通信、I/O)を実現できます。ちなみに、この基板型シンプルコントローラを使用するJXプログラミングソフトウエアは無料です。

詳しい仕様はこちらのLinkから確認してください。

https://www.electronics.jtekt.co.jp/jp/product/plc/jx-basic/

Reference Link

JTEKT#JX-BASIC Tutorial Part1_基板PLCを始めよう!
JTEKT#JX-BASIC Tutorial Part2_Timerを使ってみよう
JTEKT#JX-BASIC Tutorial Part3_Counterを使ってみよう
JTEKT#JX-BASIC Tutorial Part4_Drum命令を使ってみよう
JTEKT#JX-BASIC Tutorial Part5_Modbus RTU通信してみよう

Implementation

Wiring

こちらはエンコーダの配線になります。今回使用するのはJTEKTエンコーダです。

こちらは実際JTEKTのJX-BASICとエンコーダTRD-SR1000Aの配線になります。

Configuration

設定>高速I/Oをクリックし高速I/Oの設定を行います。

高速I/Oの設定画面が表示されます。

ステップ1:モード選択

最初に高速I/Oの使用タイプを設定します。

今回は高速カウンターを使用しますので、高速カウンターを選び>次へ進みます。

ステップ2:モードオプションの選択

今度はモードオプションの選択画面になります。

記事で使用するエンコーダは90度相差(A,B相)対応できますので、90度相差(A,B相)の選択のボタンに+をクリックします。選択されたアプリケーションの画面に1つの高速カウンタアプリケーションが追加され、次へをクリックし進みましょう。

ステップ3:モード属性の選択肢

最後は高速カウンタの細かい設定画面になります。

名称

こちらはプログラムに定義される変数の名前と直結します。

なので、隣にあるニックネームを自動で割り当てるのCheckboxを入れるとX001、X002のニックネームも名称に合わせて自動定義されます。

現在のカウント値

こちらのFieldからX001・X0002で取得したCounter値の格納先を設定できます。

DDxから始めるレジスタの設定になりますが、DDは32Bitのレジスタになります。

今回はDD1に設定します。

リセット使用

こちらのCheckboxを入れると現在のCount値をリセットすることが可能になります。

下図のように、リセットの細かい設定が表示されました。

リセット

今回の記事でC1を設定します。つまりC1=Trueの場合、現在DD1に格納されているCounter値がリセットになります。

リセットタイミング

こちらの項目からリセットは立ち上げ・たち下げで実行するを選択できます。

カウンターをリセット

今回の記事では0ですが、Counterにリセットされたとき必ず0ではなく自由設定できます。

Enableを使用

こちらはHigh Speed Counter値をX1・X2から更新するかを有効・無効できるオプションになります。

下図のように、Enableを使用するCheckboxを入れると、有効に関連する設定が表示されます。

Enable

こちらの機能を有効にすることにより、高速I/Oの機能を無効・有効化することができます。高速I/Oが無効されたとき、Counterの更新はしません。

Enable時

DropboxからON/OFFの設定があり、つまり設定されたデバイスがON・Offするときに機能を有効する選択はできます。

Overview

 最後にJX-BASICが設定した項目を赤枠のところに一覧できます。

高速I/Oの設定が正しければ、OKで設定を適用しましょう。

割り込みプログラム作成

高速I/Oを使用するために、割り込みプログラムを作成します。

ラダープログラム>割り込みプログラム>新規割り込みプログラムの追加をクリックします。

割り込みプログラム名を入力します。

割り込み設定

先程追加した割り込みプログラムを右クリック>割り込み設定を開きます。

割り込みプログラムの設定画面が表示されます。

今回設定するのは割り込みのタイミングだけで、ob30は10msごとに割り込みます。

Program

こちらは高速I/Oの現在値を読み>前の周期のCounterを比較し、0より大きななら正回転、0より小さいなら逆回転、0であれば停止状態だと判断するプログラムを作成しました。

MAIN

MAINプログラムは高速Counterの無効やリセットの回路を作成しました。

Result

こちらの動画はJTEKTエンコーダから高速I/OのCounter値を読み取る操作です。

JTEKT.JXBASIC – Using High Speed Counter Function with JTEKT Encoder

こちらの動画はJTEKTエンコーダの回転方向を検知する操作です。

JTEKT.JXBASIC – Using High Speed Counter Function with JTEKT Encoder,Detect FW/BW

こちらの動画はプログラムからJTEKTエンコーダの機能を無効にする操作です。

JTEKT.JXBASIC – Using High Speed Counter Function with JTEKT Encoder,Enable

こちらの動画はプログラムから高速I/O機能を無効にする操作です。

JTEKT.JXBASIC – Using High Speed Counter Function with JTEKT Encoder,Reset

Download

こちらのLinkからプロジェクトをDownloadしてください。

https://github.com/soup01Threes/JTEKT/blob/main/Project_HighSpeedCounter.jkp

Footer_Basic

Please Support some devices for my blog

Amazon Gift List

Find ME

Twitter:@3threes2
Email:soup01threes*gmail.com (* to @)
YoutubeChannel:https://www.youtube.com/channel/UCQ3CHGAIXZAbeOC_9mjQiWQ

シェアする

  • このエントリーをはてなブックマークに追加

フォローする