====== HMI画面の作成 ====== [[:ja-jp_guide:hmi_connection|HMI接続]] HMI画面の表示器とスイッチは、製品の内部メモリを**外部機器アドレス**で読み書きします。外部機器とは、HMIが通信で接続する製品のことで、アドレス形式は製品の開発ツールとプロトコルによって異なります。このページでは外部機器とアドレスを設定し、最後に数値表示、数値入力、スイッチ、ランプで簡単な画面を作成します。編集ソフトのメニューと端子番号は、使用するHMIモデルの説明書に従ってください。 ===== 1. HMIプロジェクトと外部機器を作成する ===== HMIプロジェクトに、実際のモデルと画面解像度、製品に接続するシリアルポートとドライバを登録してください。製品プログラムと同じプロトコル、局番、通信形式を使用しないと、外部メモリを読み書きできません。[[:ja-jp_guide:hmi_connection:wiring|配線と通信条件]]、および使用した[[:ja-jp_guide:hmi_connection:arduino|Arduino IDE]]または[[:ja-jp_guide:hmi_connection:studio2|MPINO STUDIO2]]のページと照らし合わせてください。 - HMIの編集ソフトで**新規プロジェクト**を作成し、実際のHMIモデルと画面解像度を選択してください。 - **外部機器**を追加してください。HMIが通信で読み書きする製品のことです。 - [[:ja-jp_guide:hmi_connection:wiring|実際に配線したHMIのシリアルポート]]と、製品プログラムと**同じプロトコル**のドライバを選択してください。 - 局番、通信速度、データビット、パリティ、ストップビットを製品プログラムと同じにして、プロジェクトを保存してください。 ^ 製品で使用するプロトコル ^ HMIで確認するドライバ ^ | Modbus RTU | Modbus RTU マスター・Coil / Holding Register | | LS産電 Cnet | LS産電 Cnet シリアル・M / Dメモリ | | Mitsubishi MC | MELSEC A互換 1Cフレーム Format 1 シリアル | 各画面要素の対象は、HMIの内部変数ではなく、作成した**外部機器**を選択してください。 HMIのモデルと編集ソフトはお使いの機種によって異なるため、このガイドではボタンの正確な名前を指定しません。メニューの位置、外部機器の登録方法、アドレス表記、ダウンロード方法はメーカーの説明書で確認してください。 ===== 2. アドレス形式を確認する ===== 入力するアドレスは、**製品の開発ツールとプロトコル**によって異なります。下の表から該当する列を一つ使用してください。CnetとMCのアドレスに、その下のModbus変換表は使用しません。 ^ 製品メモリ ^ Arduino IDE\\ Modbus RTU ^ Arduino IDE\\ Cnet ^ Arduino IDE\\ MC ^ MPINO STUDIO2\\ Modbus RTU ^ MPINO STUDIO2\\ Cnet ^ | ''D0'' | Holding Register ''0'' | ''D000'' | ''D0000'' | Holding Register ''2000'' | ''D000'' | | ''D1'' | Holding Register ''1'' | ''D001'' | ''D0001'' | Holding Register ''2001'' | ''D001'' | | ''D2'' | Holding Register ''2'' | ''D002'' | ''D0002'' | Holding Register ''2002'' | ''D002'' | | ''M0'' | Coil ''0'' | ''M000'' | ''M0000'' | Coil ''1000'' | ''M000'' | | 詳細 | [[:ja-jp_guide:hmi_connection:arduino:modbus|ページを開く]] | [[:ja-jp_guide:hmi_connection:arduino:cnet|ページを開く]] | [[:ja-jp_guide:hmi_connection:arduino:mc|ページを開く]] | [[:ja-jp_guide:hmi_connection:studio2:modbus|ページを開く]] | [[:ja-jp_guide:hmi_connection:studio2:cnet|ページを開く]] | Modbusの列は**要求内の0始まりのアドレス**です。Cnetの列はLS産電・M2I・EasyViewのHMIでの入力形式です。MCの列は1C要求のデバイスコードと4桁の10進アドレスで、編集ソフトでの表示はドライバによって異なります。 **Modbus Holding Registerの表記:** HMIドライバの説明書で、入力欄が0始まり、1始まり、''4xxxx''表記のどれを受け付けるかを確認してから、対応する値を入力してください。 ^ 対象 ^ 0始まりのアドレス ^ 1始まりの番号 ^ 4xxxx表記の例 ^ | SDK ''D0'' | ''0'' | ''1'' | ''40001'' | | SDK ''D1'' | ''1'' | ''2'' | ''40002'' | | SDK ''D2'' | ''2'' | ''3'' | ''40003'' | | STUDIO2 ''D0'' | ''2000'' | ''2001'' | ''42001'' | | STUDIO2 ''D1'' | ''2001'' | ''2002'' | ''42002'' | | STUDIO2 ''D2'' | ''2002'' | ''2003'' | ''42003'' | ''4xxxx''はその表記を使用するドライバの例であり、すべてのHMIで同じ番号を入力するという意味ではありません。''M0''は**Coil**領域で、0始まりのアドレスはSDKが''0''、STUDIO2が''1000''です。Coil番号を1始まりで受け付けるドライバでは、それぞれ''1''、''1001''です。**CnetとMCのアドレスにこのModbus変換表を適用しないでください。** アドレスを入力したら、**読み書きの対象領域と、表示された最終アドレス**をもう一度確認してください。Modbusでは、数値表示がHolding Registerを、スイッチとランプがCoilを指していることをドライバの設定画面で確認してください。 ===== 3. 画面に五つの要素を配置する ===== アドレスの規則を確認したら、次の**簡単な画面の例**で内部メモリの読み書きを確認できます。先に製品プログラムを書き込み、HMIプロジェクトに外部機器を作成しておいてください。 {{ :ja-jp_guide:hmi_connection:practice-screen.svg?420 |二つの数値表示、数値入力、試験スイッチとランプの画面構成例 }} ^ 画面要素 ^ メモリ ^ 機能 ^ | 通信確認の数値 | ''D0'' | 製品が増やす値を読み取って表示 | | 入力値 | ''D1'' | 数値を入力して製品に書き込み | | 製品から返された値 | ''D2'' | 製品がコピーした結果を読み取って表示 | | 試験スイッチ | ''M0'' | ON/OFFを保持するトグルとして書き込み | | 試験ランプ | ''M0'' | 製品のビット値を読み取って表示 | ===== 4. 数値表示と入力を設定する ===== - 数値表示を配置し、選択したプロトコルのアドレス表で''D0''に対応するHMIアドレスに接続してください。 - 数値入力を配置し、同じアドレス表で''D1''に対応するHMIアドレスに接続してください。 - 入力範囲を''0 ~ 9999''に制限し、入力を確定したときに製品へ書き込むように設定してください。 - もう一つの数値表示を配置し、同じアドレス表で''D2''に対応するHMIアドレスに接続してください。 三つの要素はすべて**16ビット整数・1ワード・10進数・小数点以下0桁・倍率1**に設定してください。''D2''の表示を''D1''に接続すると、製品が返す値を確認できません。 ===== 5. スイッチとランプを設定する ===== - ビットスイッチの書き込み先を、選択したプロトコルのアドレス表で''M0''に対応するHMIアドレスに設定してください。 - 押すたびにON/OFFが切り替わる**保持型トグル**に設定してください。 - 別のランプもスイッチと同じHMIアドレスを**読み取る**ように設定してください。 STUDIO2の例では、''M1''のランプを追加するとラダーがコピーした結果も確認できます。 ===== 6. HMIに画面を転送する ===== プロジェクトを保存し、HMIメーカーの説明書にある**プロジェクトのダウンロード方法と指定のケーブル・ポート**を確認して、**実際のHMI**に転送してください。製品プログラムの書き込みとHMI画面の転送は別々の作業で、どちらも完了している必要があります。HMIに画面が表示されたら、次の動作試験を''D0''の読み取りから始めてください。 [[:ja-jp_guide:hmi_connection:check|次へ:動作確認とトラブルシューティング →]]