Skip to main content

CODESYS を使用して R1000 の Modbus RTU 機能を構成する方法

note

この文書は AI によって翻訳されています。内容に不正確な点や改善すべき点がございましたら、文書下部のコメント欄または以下の Issue ページにてご報告ください。
https://github.com/Seeed-Studio/wiki-documents/issues

はじめに

本記事では、CODESYS を使用して reComputer R1000 の Modbus RTU 機能を利用する方法を主に紹介します。reComputer R1000 の 2 つの RS485 ポートを使用し、1 つのポートを Modbus マスターとして、もう 1 つのポートを Modbus スレーブとして使用します。本記事では、CODESYS 上で Modbus マスターと Modbus スレーブを構成する方法を詳しく説明し、それらを reComputer R1000 にデプロイする方法を示します。

ハードウェア準備

reComputer R1000

ソフトウェア準備

開始する前に

開始する前に、reComputer R1000 がホストと同じネットワークセグメントにあることを確認し、reComputer R1000 に CODESYS ランタイム をデプロイしていることを確認してください。CODESYS ランタイム のデプロイ方法については、wiki を参照してください。

ハードウェア構成

R1000 の 2 つの RS485 ポートを接続し、1 つを Modbus マスターとして、もう 1 つを Modbus スレーブとして使用します。

R1000 の設定ファイルを変更する

以下のコマンドを入力します:

    sudo nano /etc/codesyscontrol/CODESYSControl.cfg

次の内容を追加します:

# ファイルの末尾に以下の内容を追加します。ttyAMAx は reComputer R1000 のシリアルポート番号です。Linux.Devicefile.1~3 は CODESYS 内のシリアルポート番号を表します。ここでは、CODESYS のシリアルポート番号を reComputer R1000 のシリアルポート番号にバインドします。これを行わないと、CODESYS は正しいシリアルポートを認識できません。
[SysCom]
Linux.Devicefile.1=/dev/ttyAMAx
Linux.Devicefile.2=/dev/ttyAMAx
Linux.Devicefile.3=/dev/ttyAMAx

その後、以下のコマンドを入力して CODESYS サービスを再起動します:

    sudo systemctl restart codesyscontrol.service
sudo systemctl restart codesysedge.service

Modbus マスターの構成

ステップ 1: CODESYS を開き、File ---> NEW Project をクリックして新しいプロジェクトを作成します。

ステップ 2: プロジェクト名を入力し、Standard project を選択して OK をクリックします。

ステップ 3: Device 列で CODESYS Control for Raspberry Pi 64 SL (CODESYS) を選択し、PLC_PRG inStructured Text (ST) を選択して OK をクリックします。

ステップ 4: プロジェクトを右クリックして Add Device を選択し、デバイスを追加します。

ステップ 5: Modbus ---> Modbus serial Port ---> Modbus COM をクリックして Modbus シリアルポートデバイスを追加します。

ステップ 6: 新しく追加された Modbus_COM をダブルクリックし、General をクリックしてシリアルポート番号やボーレートなどの情報を設定します。

ステップ 7: Modbus_COM を右クリックして Add Device をクリックし、このポートに Modbus デバイスを追加します。

ステップ 8: Modbus Serial Master ---> Modbus Client, COM Port を選択して、このシリアルポートに Modbus マスターデバイスをバインドします。

ステップ 9: Modbus_Clent_COM_Port を右クリックして Add Device を選択し、この Modbus マスターが操作するスレーブデバイスを追加します。ここで複数のスレーブデバイスを追加できます。このスレーブデバイスは、マスターが操作したいスレーブデバイスを表します。後でこれらのスレーブに対してマスターが実行する操作を構成する必要があります。

ステップ 10: Modbus Serial Slave ---> Modbus Server, COM Port を選択して Modbus スレーブデバイスを追加します。

ステップ 11: 新しく追加したスレーブデバイスをダブルクリックし、GeneralServer addressResponse timeoutのプロパティを設定します。

ステップ 12: Modbus Server Channelをクリックし、右下のAdd Channelをクリックして、マスターステーションがスレーブステーションに対して実行する操作を設定します。例えば、ファンクションコードの選択や操作するレジスタの数などを設定できます。Add Channelをクリックして複数の操作を追加することができます。

ステップ 13: ModbusGenericSerialServer I/O Mappingをクリックし、データを指定された変数にマッピングします。右下のAlways update variables列でEnable 1を選択します。この時点で、Modbusマスターの設定が完了します。

Modbusスレーブの設定

ステップ 1: プロジェクトを右クリックし、Add Deviceを選択してデバイスを追加します。

ステップ 2: Modbus ---> Modbus Serial Port ---> Modbus COMを選択して、Modbusシリアルポートを追加します。

ステップ 3: 新しく追加したModbusシリアルポートをクリックし、Generalを選択してシリアルポート番号、ボーレートなどの情報を設定します。

ステップ 4: 新しく追加したModbusシリアルポートを右クリックし、Add Deviceを選択してModbusスレーブデバイスを追加します。

ステップ 5: Modbus ---> Modbus Serial Device ---> Modbus Serial Deviceを選択してスレーブデバイスを追加します。

ステップ 6: 新しく追加したスレーブデバイスをダブルクリックします。Generalで、このスレーブのプロパティ(レジスタとコイルの数、アドレスなど)を設定します。

ステップ 7: Modbus Serial Device I/O Mappingをクリックし、右下のAlways update variableEnable 1を選択します。これでModbusスレーブの設定が完了します。

Modbusのデプロイ

ステップ 1: プロジェクトをダブルクリックし、Scan Networkをクリックしてデバイスを選択し、OKをクリックします。

ステップ 2: reComputer R1000のユーザー名とパスワードを入力してデバイスに接続します。

ステップ 3: 表示されているボタンをクリックしてプロジェクトをreComputer R1000にデプロイします。

ステップ 4: スタートボタンをクリックしてプロジェクトを開始します。Modbusマスターとスレーブのインジケーターライトが両方とも緑色であることが確認できれば、Modbus通信が正常であることを示します。

技術サポートと製品ディスカッション

弊社の製品をお選びいただき、ありがとうございます!お客様が弊社製品をスムーズにご利用いただけるよう、さまざまなサポートを提供しております。異なる好みやニーズに対応するため、いくつかのコミュニケーションチャネルをご用意しています。

Loading Comments...