Pythonを使用して、産業用Raspberry Pi I / Oをリモート制御します

ここに画像の説明を挿入

序文

前回の記事では、Pythonを使用してHongke Industrial Raspberry Piのプロセスイメージファイルからデータを読み書きし、入出力を制御する目的を達成する方法について説明しました。ファイル関数、ioctl、revpimodio2ライブラリの3つの方法を使用できます。その中で、3番目の方法は最も簡単で最も便利です。

まず、プロセスイメージのデータを読み書きするためにrevpimodio2ライブラリを呼び出す方法を確認しましょう。
ここに画像の説明を挿入
上の図からわかるように、最初にrevpimodioをインスタンス化するだけでよく、次に変数名を使用して値を直接操作できます。このような方法は確かに非常に便利で、ほとんどの状況のニーズを満たすことができます。

ただし、この方法には問題があります。Pythonプログラムはマシン上で実行する必要があり、マシンのIOでのみ動作できます。しかし、産業用ラズベリーパイをリモートで制御する必要がある状況や、複数の産業用ラズベリーパイが連携してプロセスデータを相互に取得する必要がある状況に遭遇することがよくあります。この状況にどのように対処する必要がありますか?

幸い、revpimodio2ライブラリファイルには、上記の操作メソッドが含まれているだけでなく、RevPiNetIOと呼ばれる呼び出しメソッドも含まれています。他のマシンで実行されているPythonプログラムは、産業用ラズベリーパイのIPアドレスを介してリモート接続を確立し、リモート制御を実現できます。ただし、このメソッドには、Industrial Raspberry PiのRevPiPyLoadのサポートが必要です。RevPiPyLoadはRevPiNetIOのサーバーとして機能し、ネットワークを介してプロセスイメージデータを読み書きする機能を提供します。
ここに画像の説明を挿入

01RevPiPyLoadを有効にする

RevPiPyLoadはHongkeIndustrial Raspberry Piにプリロードされているため、正式に開始する前に、まずこの機能を有効にする必要があります。
ここに画像の説明を挿入
sudo service revpipyload statusコマンドを使用して、サービスの実行ステータスを表示できます。接続できない場合は、デバイスの再起動を試みることができます。

02構成ファイルの変更

前回の記事では、Pythonを使用してHongke Industrial Raspberry Piのプロセスイメージファイルからデータを読み書きし、制御の入出力に対する回答を得る方法について説明しました。ファイル関数、ioctl、revpimodio2ライブラリの3つの方法を使用できます。その中で、3番目の方法は最も簡単で最も便利です。

次の構成ファイルを変更して、plcslaveオプションを有効にします
。sudonano/etc/revpipyload/revpipyload.conf
ここに画像の説明を挿入
Ctrl + Xで保存して終了します。次に、次のファイルを変更します
。sudonano /etc/revpipyload/aclplcslave.conf
ここに画像の説明を挿入
最後の行に追加: "*。*。*。*、1"、このファイルを変更する目的は、アクセス権を制御し、IPの追加を許可することです。ホストのリモートコントロールアクセスに対応するファイル内。この例では、すべてのホストがアクセス制御を実行できます。最後の「1」は読み取りと書き込みのアクセス許可を表し、「1」は読み取りと書き込みを表します。

03接続を確立しようとします

インダストリアルラズベリーパイの準備ができました。リモートホストとの接続を確立してみましょう。この例では、windows10システムのリモートホストが使用されています。プロセスは次のとおりです。

3.1 revpimodio2のインストールPython3
ランタイム環境がWindowsコンピューターにインストールされています。インストールされていない場合は、最初にPythonをインストールしてください。

まず、win + Rで「実行」を開き、「cmd」と入力して、コマンドプロンプトウィンドウを開くことを確認します。次のコマンドを実行します
。pip3installrevpimodio2

インストールが完了すると、Pythonプログラムはrevpimodio2ライブラリを呼び出すことができます。

3.2簡単なテストコード
Windowsコンピューターで新しいtest.pyファイルを作成し、次のコードを入力して実行します。
ここに画像の説明を挿入
上の写真のIPアドレスはRaspberryPiのIPです。このコードの機能は、デジタル出力チャネル1の出力状態を1秒ごとに変更することです。この例ではRevPiCompactを使用しており、実行効果は次のとおりです。
ここに画像の説明を挿入

これまでのところ、リモートホストを介して産業用RaspberryPiをリモート制御することに成功しています。成功しない場合は、以前の構成を確認するか、デバイスを再起動してみてください。

3.3さらに進んで
ウォーターランプに似た効果を出すために、もう少し複雑なプログラムを試してみましょう。

新しいLightSwitch.py​​ファイルを作成し、次のコードを入力して実行します。
ここに画像の説明を挿入
効果は次のとおりです。
ここに画像の説明を挿入

総括する

この例で実装されている手順と効果は比較的単純ですが、この機能を使用すると、開発者は多くの機能を実現できます。最も基本的なのは、Hongke Industrial RaspberryPiをリモート制御することです。さらに、RevPiNetIOの複数のインスタンスを作成して、複数の産業用RaspberryPiシステムの共同作業を実現できます。

さらに、この記事で使用されているRevPiPyLoadの機能はそれだけでなく、グラフィカル構成ツールRevPiControlのサーバーとして使用したり、MQTTプロトコルを介してIOの値を公開したりすることもできます。
ここに画像の説明を挿入
revpimodio2およびRevPiPyLoadのその他の機能については、次のWebサイトを参照してください。https://revpimodio.org/en/homepage/

おすすめ

転載: blog.csdn.net/Hongke_IIOT/article/details/115354171