[OPC UA] pythonでPLCと接続する (セキュリティなし)

同期通信

python3で Free OPC-UA Libraryのpython-opcuaを使って同期通信してみます

python-opcuaをインストール
コマンドプロンプトで


pythonのコード
PLCのIPアドレス=192.168.0.21 の変数名='uaInt' の値を読み出します

opcuaclient.py

読み出したい変数はclient.get_node()で指定
var = client.get_node("ns=4;s=uaInt")のns=4;はこちらのNodeIDからカンニング


実行結果
コマンドプロンプトで実行すると


非同期通信

python3で Free OPC-UA Libraryのopcua-asyncioを使って非同期通信してみます
opcua-asyncioはpython3.7以上でサポートされています

opcua-asyncioをインストール
コマンドプロンプトで


pythonのコード
PLCのIPアドレス=192.168.0.21 の変数名='uaIntAry' の値を読み出します

opcuaclient_async.py

読み出したい変数はclient.get_node()で指定
var = client.get_node("ns=4;s=uaIntAry")のns=4;は同期と同様にNodeIDからカンニングします

実行結果
コマンドプロンプトで実行すると


GitHub

Free OPC-UA Libraryを詳しく調べたい場合はGitHubを参照してください
Free OPC-UA Library