準備・設定#
環境設定とインストール方法#
python環境の構築方法
pip install 'pyads>=3.5.1'
Tip
TwinCAT RT Linuxへの対応はpyadsのバージョン3.5.1以降が必要です。
ADSルータ間の接続設定#
ADSルータをご覧いただき、ADSルーティング設定を行ってください。pyadsのルーティング機能は次の二つの方式をサポートしています。
- pyads提供のADSルータ利用
TwinCAT RT Linux以外のLinuxの場合、pyads内包のadslib.soによりルーティングを行います。
adslib.soは pip によりビルド時にオブジェクトが生成されます。このため、cmakeとg++のビルドツールのインストールがあらかじめ必要となります。TwinCAT RT Linuxであるかどうかを判定する方法は、/usr/bin/TcSystemServiceUmが存在するか否かで判定しています。したがって、Beckhoffのaptリポジトリを設定した上であらかじめ以下のコマンドでビルドツールをインストールしておいてください。sudo apt install cmake g++
- ネイティブADSルータの利用
TwinCAT RT Linuxを含む、Windows、または、TwinCAT / BSDのOSでは、ライブラリパスにBeckhoffが提供する TcAdsDll.dll または TcAdsDll.so が存在するとこのADSルータ機能を利用します。
Tip
OSがLinuxの場合、pyads提供の
adslib.soを使うか、Beckhoff製のTcAdsDll.soのどちらを使うかは、次のファイルの有無で判定します。/usr/bin/TcSystemManagerUm
このファイルがあるとTwinCATがインストールされているものとみなされ、
TcAdsDll.soを使用します。
たとえばコンテナなどでADS-over-MQTTを使用してADS通信する場合はネイティブADSルータが必要ですので、リスト 8.4のとおりTwinCATtc31-xar-umのインストールが必要となります。(参考 :TwinCAT Docker イメージの構築)RUN --mount=type=secret,id=apt \ apt-get -o "Dir::Etc::netrc=/run/secrets/apt" update \ && apt-get -o "Dir::Etc::netrc=/run/secrets/apt" install --yes \ tc31-xar-um \ && rm -rf /var/lib/apt/lists/*