ユーザ用ツール

サイト用ツール


ja-jp_guide:hmi_connection:studio2:modbus

MPINO STUDIO2・Modbus RTUでHMIを接続する

← STUDIO2のインストールと開始 · 次へ:HMI画面の作成 → · 選択:LS産電 Cnet →

MPINO STUDIO2でプロトコルをModbus RTU スレーブに設定すると、製品の要求処理コードはアプリが生成します。HMIはModbus RTU マスターとして要求します。HMIが読み書きする内部DワードはHolding Register、MビットはCoilに対応します。STUDIO2の生成コードのアドレスは、Arduino IDE SDKの例とは異なります。

この表は、STUDIO2の生成コードが受け付けるModbus要求内の0始まりのアドレスです。HMIがCoil番号を1始まりで受け付ける場合、M0は1001と表示されることがあります。1始まりや4xxxx表記で入力する番号はHMIドライバの説明書で確認し、HMIのアドレス形式に従ってください。

HMIの要素 STUDIO2メモリ Modbus領域 要求内の0始まりのアドレス
1秒ごとに変わる数値 D0 Holding Register 2000
数値入力 D1 Holding Register 2001
入力値を返す数値 D2 Holding Register 2002
スイッチと確認ランプ M0 Coil 1000
ラダーの結果を確認するランプ M1 Coil 1001

次はMPINO-8A4R-S・RS-232 Serial1・局番1・9600 bps・8N1で内部メモリのみを使用する簡単な例です。実際の入出力端子は使用しません。チャンネル、配線、インストール、製品選択はHMIの配線とSTUDIO2のインストールと開始を参照してください。

1. 新規プロジェクトと内部メモリ

  1. ファイル → 新規作成でMPINO-8A4R(T)-Sを選択し、HMI_First_Test.mp2として保存してください。
  2. 設定 → メモリ領域設定で、Pを64、M・D・C・T・Rをそれぞれ16に設定してください。この数字はアドレスではなく個数です。
  3. 設定 → ラダーピンマップ設定で、物理入出力ピンの使用をすべて解除してください。このプログラムでは内部のMとDのみを使用します。

MPINO STUDIO2のボード選択画面

通信端子は製品によって異なります。チャンネル表で実際の製品のポートを確認してください。

2. ラダー1行とmainコード

エクスプローラーでラダー → ladderLoopを開き、1行1列にNO接点(F2)M0、1行2列に出力コイル(F9)M1を配置してください。M1は内部ビットであり、実際のリレー出力ではありません。

M0接点がM1内部コイルを駆動する実習回路

コードのmainコードタブを開き、下のコードを入力してください。このコードはSTUDIO2プロジェクトのmainに入力するもので、Arduino IDEで単独のスケッチとして書き込むコードではありません。

#include "mpino_runtime.h"
#include "ladder_generated.h"
 
unsigned long lastTick = 0;
 
void setup() {
  M[0] = false;
  M[1] = false;
  D[0] = 0;
  D[1] = 0;
  D[2] = 0;
  lastTick = millis();
}
 
void loop() {
  ladderLoop();
  unsigned long now = millis();
  if (now - lastTick >= 1000UL) {
    lastTick = now;
    D[0] = (D[0] + 1) % 100;
  }
  D[2] = D[1];
}

D0は1秒ごとに0~99を繰り返します。HMIがD1に数値を書き込むと、D2がその値に追従します。M0をONにすると、ラダーがM1をONにします。通信の初期化と要求処理のコードは、STUDIO2が通信設定から生成します。 このコードにImodbusRTUInit()やImodbusRTU()を追加しないでください。

3. 実行 → 通信

この例で入力する値は下の表のとおりです。 図は項目の位置を示す初期画面で、図のプロトコルなしと通信速度115200はこの例の値ではありません。Modbus RTU スレーブと9600に変更して保存してください。

図の番号 項目 入力値
① チャンネル Serial1 — この製品のRS-232
② プロトコル Modbus RTU スレーブ
③ スレーブ ID 1
④ 通信速度 9600
⑤・⑥・⑦ データビット・ストップビット・パリティ 8 ・ 1 ・ なし

項目の位置を示す初期画面。図のプロトコル「なし」と115200は例であり、この例ではModbus RTU スレーブと9600に変更します。

実行 → 通信で上の値を設定し、Ctrl+Sで保存してください。HMI側では、接続したRS-232ポートをModbus RTU マスターにして、同じ局番と通信条件を設定してください。

4. ビルド、書き込み、HMIアドレス

  1. 実行 → ビルド(Ctrl+R)を実行し、ビルド出力に成功メッセージが表示されることを確認してください。
  2. ステータスバーで製品用MPダウンロードケーブルのPC側COMポートを選択し、実行 → アップロード(Ctrl+U)を実行してください。下部パネルのアップロードログが正常に終了することを確認してください。書き込みポートとHMI用のSerial1は別の接続です。画面と手順はポートを選択して書き込むを参照してください。
  3. HMIの数値三つとビットスイッチ・ランプを、上のアドレス表に従って接続してください。数値は符号付き16ビット整数・1ワード・小数点以下0桁・倍率1に、入力範囲は0~9999に設定してください。

この例の実機でのHMI通信は、使用するHMIのモデルとケーブルに応じて別途確認してください。同じSerial1をラダーモニタリングやユーザーのシリアルコードに重複して割り当てないでください。

先にHMI画面の作成でこのページのModbusアドレスを指定し、動作確認とトラブルシューティングに進んでください。Cnetも試す場合は、同じプログラムをLS産電 Cnetに切り替えてください →。

ja-jp_guide/hmi_connection/studio2/modbus.txt · 最終更新: by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki