PLCnext でPython を始める

概要
この記事では、PLCnext Control でPython を使うための基本操作を解説します。Python コードの実行方法、PIP のインストール方法、Python 上での PLCnext Runtime(PLC言語) 変数の扱い方を解説することで、Python を使用するために必要な情報を提供します。
尚、Python 文法などについて、この記事では解説しておりません。そちらについては、専門書などをご参照ください。
本記事の内容を実行するにあたり、以下の準備が必要です。
 PLCnext Control 本体
 PLCnext Engineer
 PC (Python コードエディタ、PLCnext Control 制御、SFTP ツール(WinSCP など)、SSHツール(TeraTerm、Putty など) がインストールされていること)
 インターネット環境

目次

1. Python コードを実行する
2. PIP をインストールする
3. PLCnext Runtime 変数を Python 上で扱う

Python コードを実行する
まず初めに、PLCnext 上での Python コード実行方法を解説します。
PLCnext Control には、予め Python3 がインストールされていますので、PLCnext Control 上で Pythonコードをすぐ実行できます。
Python コードをPLCnext Control の Linux 上で記述することも、外部の PC でプログラムした Python
コードを PLCnext Control へファイル転送することも可能です。ファイル転送には、WinSCP などの SFTPツールを使います。

Python コードを実行する
1. PC 上で Python コードをプログラミングします。ここでは、「Hello World!!」と表示する Pythonコードを使用します。

Python コードを実行する
2. PLCnext Control を起動し、作成した Python コードを PLCnext Control へ転送します。ファイルの転送には SFTP を使用します。(SFTP ツールとして WinSCP などがあります)

ここでは、/opt/plcnext へファイルを転送します。

Python コードを実行する
3. ファイル転送が完了したら、SSH で PLCnext Control 内の Linux へログインします。(SSH ツールとして TeraTerm や Putty などがあります)
ログイン名は「admin」。

パスワードは PLCnext Control に印字されている8文字の英数字。

Python コードを実行する
4. PLCnext Control へログインできたら、以下のコマンドを実行すると Python コードが実行され、「Hello World!!」が表示されます。

PIP をインストールする
Python ライブラリをインストールするためのPIP は、デフォルトでインストールされていません。そのため、Python ライブラリを追加するには、PIP のインストールが必要となります。ここでは、PIP のインストール手順を解説します。

PIP をインストールする
1. SSH で PLCnext Control へログインします。

PIP をインストールする
2. PLCnext Control へログインしたら、インターネットへの接続を確認します。

PIP をインストールする
3. インターネットへの接続を確認できたら、root アカウントへ切り替えます。

PIP をインストールする
4. Root へ切り替えたら、以下のコマンドを実行し Python コードを入手します。
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

以下のようなエラーが出た場合、-k オプションを付けて、上記コマンドをお試しください。
(curl -k https://bootstrap.pypa.io/get-pip.py -o get-pip.py)
curl: (60) server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none
More details here: https://curl.haxx.se/docs/sslcerts.html

PIP をインストールする
5. 入手した Python コードは、コマンド実行したディレクトリに置かれます。

PIP をインストールする
6. 入手した Python コードを実行するため、以下のコマンドを実行します。
python3 get-pip.py

PIP をインストールする
get-pip.py 実行時に、以下のようなエラーが発生した場合、次の手順を試してみてください。

PIP をインストールする・root ユーザーのホームディレクトリに移動 (コマンド: cd ~)・.pip ディレクトリを作成 (コマンド: mkdir .pip)
・.pip ディレクトリ内に pip.conf ファイル作成し、編集モードにする (コマンド: nano .pip/pip.conf)

PIP をインストールする
・pip.conf ファイル内に以下の記述を加えて、上書き保存します。
[global]trusted-host = pypi.python.org
pypi.org
files.pythonhosted.org

上書き保存するには、[Cntl] + [x] を押します。
「Save modified buffer?」と聞かれますので、[Y]を押します。
「File Name to Write: .pip/pip.conf」と聞かれます
ので、[Enter] を押します。

PIP をインストールする・再度、 get-pip.py を実行します。

PIP をインストールする
7. Python コードを実行すると、pip のインストールが開始されますので、インストールが完了するまで待ちます。

PIP をインストールする
8. インストールが完了すると、pip コマンドが使用できるようになります。

PLCnext Runtime 変数を Python 上で扱う
PLCnext では、PLCnext Runtime で使用されている変数へ Python からアクセスすることができます。
アクセス方法は、いくつかありますが、ここでは REST API を使った方法を解説します。
REST API の使い方は、以下の URL をご参照ください。
https://www.plcnext.help/te/Service_Components/REST_data_interface/REST_data_interface_Int
roduction.htm

PLCnext Runtime 変数を Python 上で扱う
また、Python から PLCnext Runtime で使用されている変数へアクセスするためのサンプルコード
PyPLCn も用意されています。こちらのライブラリもご参照ください。
ここでは、PyPLCn のインストール手順を解説します。
注: こちらのライブラリはサンプルとなっているため、実現場での使用を想定しておりません。実現場で、こちらのライブラリをご使用する場合、ご自身のリスクでご利用いただけますようお願い致します。

PyPLCn をインストールする
1. pip コマンドが使用できるようになったら、以下のコマンドを実行し、PyPLCn のインストールを開始します。
pip install PyPLCn

PyPLCn をインストールする
2. コマンドを実行すると PyPLCn のインストールが開始されるので、インストールが完了するまで待ちます。

PyPLCn をインストールする
3. 「Successfully installed ...」メッセージが表示されたら、PyPLCn インストール完了です。

PyPLCn をインストールする
4. PyPLCn は、以下のディレクトリ内に用意されます。
/usr/lib/python3.8/site-packages/