LoginSignup
3
2

More than 1 year has passed since last update.

OpenPLC用 Arduino UNO用テストベンチボードを作ってみました Runtimeもマイコンボードに実装

Last updated at Posted at 2023-01-05

数時間前に
OpenPLC用 Arduino UNO用テストベンチボードを作ってみました ラダープログラム編
を投稿しました。
その記事では、Arduino UNOindows runtimeOpenPLCを動かしていたために、
Arduino UNO 単体では動きませんでした。

公式ページに
1.5 INSTALLING OPENPLC RUNTIME ON MICROCONTROLLERS
の記事があったのでRuntime自体もマイコンボードに組み込めると思い試行錯誤してみました。
なんせ情報が少なくて(泣)

前回の記事で使ったラダープログラムで試してみました。
公式ページの英語の記事を翻訳ソフト(DeepL)を翻訳すると
「OpenPLC ランタイムは、移植性を考慮して設計されました。そのコアは純粋な C で記述されているため、多くの異なるハードウェア プラットフォームに移植できます。Windows や Linux などの最も一般的なオペレーティング システムには、実行可能なアプリケーションとしてランタイムを展開する、すぐに使用できるインストーラーがあります。本格的な OS を持たない組み込みシステムの場合、ランタイムを PLC プログラム自体の一部として展開する必要があります。OpenPLC Editor は、公式にサポートされているすべてのボードでこのタスクを非常に簡単にします。PLC プログラムを Arduino 互換ボードに展開する準備ができたら、上部のツールバーにある Arduino アイコンをクリックするだけです。」
と言うことなので、とりあえずArduinoアイコンをクリックしてみました。
(初めてArduinoアイコンをクリックした場合はこの画面が表示されるまで結構な時間がかかります)
2023-01-05 (44).png
Board Typeやシリアルポートの設定をして
Uploadボタンを押しましたが、エラーが出ました。
__IX100_0 に関してのエラーぽいので
多分ビット2023-01-05 (42).png
設定の %IX100.0 と関係がありそうですが、ソース上どこで設定してあるのかわかりません。
2023-01-05 (38).png
良く分からないまま、%IX100.Xを%IX000.Xに、%QX100.Xを%QX000.Xに変更したらこのエラーは無くなりました。ただ次は __IW100 でエラーです。
同じように
%IW10Xを%IW00Xに、%QW10Xを%QW00Xに変更したらエラーが無くなりアップロードも成功しました。
2023-01-05 (45).png

そして、Windows runtimeを必要とせずArduino UNOボードだけでラダープログラムが走りました。

良く分からないままに、とりあえず動いたという感じですが、マイコンボード単体だけで、
PLCプログラムが動くので実用に一歩近づいたと思います。
それにたくさんのマイコンボードをサポートしているみたいなので、他のボードに関しても検証しようと思っています。
2023-01-05 (46).png

参考までに変更した入出力の設定です。
2023-01-05 (46).png

分かり辛いですが、単体で動作している写真です。
IX000.0をON
IMG-0968.jpg
IX000.3をON
IMG-0969.jpg
アナログ入力とアナログ出力
IMG-0953.jpg

ただ情報が少ないので、何らかの情報をお持ちの方は教えてください。

2023年1月9日追記
入出力の設定ですが
公式のドキュメント 2.4 PHYSICAL ADDRESSING
に記載がありました。
スクリーンショット 2023-01-09 132450.png

%IX000.0と書いても動いていましたが正しくは %IX0.0 でした。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2