2020年12月に入ってArduino.ccからArduino PLC IDE 1.0がダウンロードできるようになりました。Arduino IDE 2.xが長期にわたってベータ版だったのに比べ、最初から1.0です。
Arduino Optaというハードウェアのアナウンスで登場した開発ツールですが、2020年12月17日現在、Arduino Optaは発売されていません。
Arduino Opta
3モデルありますが、一度RS-485のモデルが140ドルで表示されたことがありましたが、今は見えません。
(2023/01/05現在)価格表が追加されました。Opta Liteが$146.40、Opta RS485が$160.80、Opta WiFiが$193.20。
(2023/01/15現在)2022年12月発売の表示が2023年2月発売に変更されています。
(2023/03/03現在)発売開始。知りえた時間帯で、残っているのはOpta RS485だけだった。
(2023/3/17現在) OptaをArduino IDE 2.xで始める記事が公開された Getting Started with Opta しかし、Arduino PLC IDE用に必要なファイルは存在しない。
(2023/3/28現在) Arduino PLC IDE 1.0.3がダウンロードできるようになった。Arduino IDE 2.x用AIPlc_Optaがインストールできるようになった。
Arduino PLC IDE 1.0を動かすと、Portenta Machine Controlのハードが使われるようになっています。I/OはGPIO以外にCANバスのCANopenがサポートされています(FBDは現在見つからない。Motion関連もアナウンスはない)。
エラーメッセージは、このファイルが該当するかもしれない。https://files.elsist.biz/forum/20130919141900.pdf
Arduino PLC IDE 1.0関連のURL
ダウンロードは無料です。Downloadsのページ
ドキュメントのトップです。Docs Arduino PLC IDE
ハード1台に付きライセンスが一つ必要なようです。17.6ドル PLC key Portenta Machine Control
(2023/01/05現在)普通のWindows10 PC 2台にインストールしましたが、落ちます。英語版Windows10を用意して実行したら、問題なく動いています。日本語版では、ユーザ名はアルファベットを使っています。落ちる理由は、ほかにあるようです。コンパイルするmbed処理系は、Arduino IDE 2.xと同じ場所にインストールされます。このツールのベータ版時代、パス名が長くてインストールできなかったり、実行時に落ちていました。最終のベータ版になって落ちなくなりました。
記述言語
Arduino PLC IDE 1.0では、従来のスケッチと、IEC 61131-3が使えます。
スケッチのエディタの画面です。
IEC 61131-3はFA用の言語群で、五つの言語が使え、混在?ができます。
- IL(Instruction List;インストラクション・リスト)
- LD(Ladder Diagram;ラダー・ダイアグラム)
- SFC(Sequential Function Chart;シーケンシャル・ファンクション・チャート)
- FBD(Function Block Diagram;ファンクション・ブロック・ダイアグラム)
- ST(Structured Text;ストラクチャード・テキスト)
過去記事では、ST言語とFBDをTwinCAT3(EtherCAT)で使いました。
グローバル変数や構造体は、言語にかかわらず共用できるような言語体系なはずです。スケッチも、たぶん。
イントロのページProgramming Introduction With Arduino PLC IDE
スタイル
- Init: 初期化時に行われる、割り当てられたプログラムの単一実行
- Fast: デフォルトで 10ms ごとに、付属のプログラムを実行するループ (変更可能)
- Slow: 100msごとに付属のプログラムを実行するループは変更不可
- Background: 500msごとに付属のプログラムを実行するループは変更不可
対応モジュール?
RS-485ではModbus/RTUがサポートされます。EthernetではModbus/TCPがサポートされます。CANではCANopenがサポートされます。
Modbus/RTUの対応画面です。
CANopenの対応画面です。
Modbus Custom Editorの画面です。
CANopen Custom Editorの画面です。EDSが見えています。
ModBus Setup with Arduino PLC IDEのページ
CAN Bus Setup with Arduino PLC IDEのページ
貼り付けたところです。
参考
IEC 61131-3日本語関連 https://www.plcopen-japan.jp/beginners/
omron PLCの国際標準プログラミング:IEC 61131-3とは?
PLCopen ダウンロードのページ
検索で見つかったFBD関連リンク
オフィシャル https://www.youtube.com/watch?v=l1L4jzDVKyE&t=32s
FBDの日本語解説 FBD言語を使用したPLCプログラミング
PLCopenのintroduction Function Block Diagram(FBD)(pptx)
https://youtube.com/watch?v=l1L4jzDVKyE&t=32s
https://softech.co.jp/mm_160803_plc.htm
https://youtube.com/watch?v=hdTHl-5WxiA
https://youtube.com/watch?v=X5UnbqBnZss
Soup氏の日本語の解説
1回目 ArduinoOPTA#Arduino PLC IDE始めよう!
Jakob Sagatowski氏の解説
1回目 https://www.youtube.com/watch?v=mq1xgubaQeA
? Modbus/TCP https://www.youtube.com/watch?v=G4LdrMfbTOc&t=530s
Arduino OPTA PLC
1回目 箱を開ける
2回目 ?? Programming the Arduino OPTA
JugaadTech氏の解説
1回目 Arduino PLC - IDE Overview & Basic Programming Part 1
2回目 Arduino PLC IDE Programming Part 2
3回目 Arduino PLC IDE Programming OOPS Part 3
4回目 Arduino PLC IDE Hardware ,Documentation & Codesys Comparison Part 4
5回目 Arduino PLC - IDE PART 5 Different Features
control.comの解説
1回目 How To: Use the Arduino PLC IDE to Build Basic Ladder Diagrams Lチカができる解説
2回目 Analog I/O and External Devices
104氏の解説
2回目 https://www.youtube.com/watch?v=LSwB-OE0_KY
JugaadTech氏の解説
1回目 Arduino PLC - IDE Overview & Basic Programming Part 1
2回目 Arduino PLC IDE Programming Part 2 Hindi
追加;補足 バックグラウンド
Arduino PLC IDEはFA用の開発ソフトです。PLCと言えば、日本では三菱電機です。世界ではシーメンスのシェアが高いようです。
PLCと言えば、ラダー・プログラムですが、世界は、そこからIEC 61131-3に踏み出しています。五つの言語が使え、ラダーも含まれます。
この開発環境では、codesysが有名です。ソフト自体は無料です。Arduino PLC IDEと同じですね。デプロイするマイコンに課金されます。ラズパイだと昔、50ドル?だったようです。また、昔は5時間はフリーで使えたようです。今はわかりません。
codesysベースに、EtherCATではベッコフのTwinCAT3が、国産のソフトも、codesysがベースになっているところもあるようです。
残念ながら、日本語の解説書はないです。仕様書はあるけど、解説ではないです。TwinCAT3のマニュアルは日本語化されていますが、読んでもわけがわかりません。
要は、最初、どうすべきかということが書かれていないからです。
上記のJakob Sagatowski氏のyoutubeは、それらが詳しいですが、とても長いです。教科書的です。
Industry4は、フィールド・バスを使います。多くは時間管理がなされます。TwinCATでは、メッセージはたとえば2msごとに送信と受信が行われます。RS-485を使ったCANバスのCANopenは100msなどです。Modbusにはそのような制約はありません。Modbusには規約書がありますが、準拠と言っている日本や中国の会社には、それを守っていないところはたくさん見かけます。TwinCATは7日有効なライセンスがいつでも発行されるので、実質、開発ソフトの費用は掛かりません。Omronの開発ソフトは相当高価です。お試し版はありません。CANopenやModbusもそれ自体はライセンス料はかかりません。CANopenのプロトコルを解釈するスキャナ・ソフトは10~20万円ほどします。Modbus用のフリーのスキャナは実用的なのが二つほどあります。
フィールド・バスで一番利用が多いのはシーメンスのPROFIBUSです。筆者は使ったことはありません。約10年前、トヨタは、工場ではEtherCATを使うというアナウンスがなされました。EtherCATではCANopenの規約が使われ、高速です。
IEC 61131-3のどの言語も、プログラム本体、外部参照変数、構造体などを定義して利用を始めます。プログラムの中も、ローカル変数とコードは分離されます。プログラムは複数に分割できます。ST言語で作ったものと、FBDで作ったものが、外部変数でやり取りするという作りにできます。
変数は、物理的にGPIOポートとリンクさせるように記述ができます。