ふたつぼし inside

制作・活動内容、機材の使い方、作り方などなど

ユーザ用ツール

サイト用ツール


howto:open_plc:index.html

差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
howto:open_plc:index.html [2023/07/16 18:19]
Staff_Ujiie [ハードウェアについて]
howto:open_plc:index.html [2024/04/21 09:44] (現在)
Staff_Ujiie [PLCの国際基準 IEC61131-3]
行 6: 行 6:
 \\  \\ 
 ===== ソフトウェアの紹介 ===== ===== ソフトウェアの紹介 =====
-  * **OpenPLC**とは、個人の方が作成した、オープンソースで無償で使えるPLCソフトウェア(パソコンでプログラムを作成するエディタと機器に組み込んでプログラムを実行するランタイムのセット)になります。\\ 運転中のPLCの状態監視・制御をするSCADAの機能は含まれていませんので、使いたい場合は他のSCADAソフト(Modbus/TCPサポートのもの)を利用します。+  * **OpenPLC**とは、個人(Thiago Ralvesさんというやさしそうなおじさんです。ブラジルの方のようですね)が作成した、オープンソースで無償で使えるPLCソフトウェア(パソコンでプログラムを作成するエディタと、制御機器に組み込んでプログラムを実行するランタイムのセット)になります。\\ 運転中のPLCの状態監視・制御をするSCADAの機能は含まれていませんので、使いたい場合は他のSCADAソフト(Modbus/TCPサポートのもの)を利用します。
  
   * PLCの国際基準 IEC61131-3に準拠しており、5種類のPLCプログラミング言語に対応しています。IEC61131-3の普及を目的としたPLCOpenという国際団体の標準エディターがOpenPLCエディターのベースとなっているようです。   * PLCの国際基準 IEC61131-3に準拠しており、5種類のPLCプログラミング言語に対応しています。IEC61131-3の普及を目的としたPLCOpenという国際団体の標準エディターがOpenPLCエディターのベースとなっているようです。
  
-  * IEC61131-3準拠のため、PLCプログラミングの仕様の詳細はそちらを参照するということで、プログラミングの仕方についての詳細なマニュアルはありません。その代わりユーザーからの困り事相談や色々なやりとりは、[[https://openplcproject.com/|サイト]]内のフォーラムへの投稿を通して行われるスタイルになっています。作者や他の会員が各投稿への回答サポートを行っています。\\ 公式ドキュメントで解決できない困ったことが出てきたら、フォーラムの過去の投稿に関連するものが無いか検索してみるのが基本です。その上でフォーラム内で質問(会員登録要)もできます。 +  * ランタイムをインストールしてPLCとして動かせるハードウェアは幅広く、以下が公式サポートされています([[https://autonomylogic.com/docs/openplc-overview/|OpenPLCサイト(2024/04)]]より)。Raspberry Pi、一部の市販PLC(Raspberry Pi拡張)製品、Arduino、マイコン、パソコンなどでも使えます。Arduino IDEで開発できるArduino純正以外の製品も対応できるようです。
- +
-  * 基本、英語のソフトになります。[[https://openplcproject.com/|サイト]]も英語です。 +
- +
-  * ランタイムをインストールしてPLCとして動かせるハードウェアは幅広く、以下が公式サポートされています([[https://openplcproject.com/docs/openplc-overview/|OpenPLCサイト(2022/05)]]より)。Raspberry Pi、一部の市販PLC(Raspberry Pi拡張)製品、Arduino、マイコン、パソコンなどでも使えます。+
     * Arduino Uno / Nano / Leonardo / Micro     * Arduino Uno / Nano / Leonardo / Micro
     * Arduino Mega / Due     * Arduino Mega / Due
行 34: 行 30:
     * Linux (generic target as a soft-PLC)      * Linux (generic target as a soft-PLC) 
  
-  * 最近(2022/05)[[https://openplcproject.com/|OpenPLCサイト]]が大幅リニューアルされ、ソフトもバージョンアップされました。まだ工事中のページも多いです。先日[[https://youtu.be/cNg-tXZynJE|Youtubeチャンネル]]もできました。 
-\\  
-===== ハードウェアについて ===== 
-前項のように色々なハードウェアでOpenPLCは動かせるわけですが、PLC製品として売っている以外の汎用のコンピュータの場合、出力の電流・電圧が小さく、いろいろな機器を接続するにはそのためのハードウェアが必要になります。 
-  * {{ :activities:products:p2273499_w600.jpg?direct&200|UniPi technology}}私が展示物の自動運転で使っているのは、[[https://www.unipi.technology/|Unipi Technology]]社の[[https://www.unipi.technology/products/unipi-1-1-1-1-lite-19?categoryId=1&categorySlug=unipi-1-1|UniPi 1.1]](UniPi Industrial Platform)という**RaspberryPiのPLC用拡張基板**の製品です。その上に手持ちのRaspberryPiを載せて、電源と一緒にケースに入れて使っています。\\ ([[activities:products:plc|参考:PLCによる展示物の自動運転]])\\ \\  
-  * {{ :activities:products:p6114140_w600.jpg?direct&200|CQ出版社}}もともとPLCに興味を持つきっかけになったのは、インターフェース誌の「**ラズパイでPLC**」という連載なのですが、その記事をまとめた書籍が発行されていて、そちらを参考にさせていただいています。\\ この本には、記事中に出てくる実験基板の引換券がついていて、後は部品とRaspberryPiと電源を用意してはんだ付けすればPLCとして使えます([[https://akizukidenshi.com/catalog/|秋月電子通商]]で部品のセット(gK-15645,gK-15925)も基板(gP-15646,gP-15926)も販売しています)。私もこの基板を一式作ってみました。書籍に回路図や解説があって手軽に試せるのでおすすめです。\\  
  
-  * 接続部分回路自体はそれほど難しいものではいので、慣れてきたら自作るのよさそうです。+  * 基本、英語ソフトにりま。[[https://autonomylogic.com/|サイト]]英語です。
  
-  * 出来合いのPLC製品ということでは、Arduino公式Arduino-proというシリーズがあり、その中の[[https://www.arduino.cc/pro/portenta-machine-control/|Portenta Machine Control]]、[[https://www.arduino.cc/pro/hardware-arduino-opta/|Opta]]といったPLC製品は、公式の[[https://www.arduino.cc/pro/software-plc-ide/|Arduino PLC IDE]]というPLCプログラミングソフトも提供されており、選択肢としてもいいのではないでしょうか。\\ これらの機種について、Open PLCは、Machine Controlをサポート機種に載せていましたが、ここで[[https://openplc.discussion.community/post/arduino-opta-on-openplc-editor-12653922|Opta使えることになっ]]そうです +  * 2022/05に[[https://autonomylogic.com/|OpenPLCサイト]]が大幅リニューアルされ、ソフトもバージョンアップされました[[https://youtu.be/cNg-tXZynJE|Youtubeチャンネル]]出来ました。サイトLearning/Basicsジはこの動画ペジにリクされています。
-\\  +
-===== PLC国際基準 IEC61131-3 ===== +
-  * 生産設備トメショ等に多く使わてきたPLC(プログラマブル・ロジック・コントローラー)のプログラムを共通化することで、異なるメーカーのPLCでも同じプログラムが再利用できるような効率的な環境を目指す国際基準です。PLCプログラムの仕様を詳しく規定しています。+
  
-  * メーカー独自仕様PLCが広く普及していた日本も今後基準へ対応が進むと思いまので、たに始める際はの基準を勉強すべきでょう+  * ソフト使方を学ぶには、ず第一に公式サイトドキュメントの説明をよく読むことす。不具合が出たと思って慌ててもよくよく見ら説明書いてあったというとが往々にてあります
  
-\\  +  * 次YouTube動画もそこしかわからなだろう内容がありますので見ておいたほうが良す。動説明内容ていて、頭のいい人だなと思います。
-===== PLCラダープログラムの作り方 ===== +
-実際PLCプログラムを作成するための、ラダーダイアグラム(ラダー図)のプログラム作成につて説明します。\\ 実際に私がやってみた内容が大半ですので、もっとい方法もあっりすると思す。\\  +
-  * OpenPLCは、国際基準 IEC61131-3準拠なので、基本はその仕様のもとでくラダープログラムになりますが、中にはOpenPLC固有部分や、使うハードウェアの制約受けている部分もあります。+
  
-  * 初心者にもわかりやてかつリァレンスにも使える参考書があれば都合がよのですが、市販参考書でこれとうものは見つけられせんでした私自身は、上述の[[activities:products:plc#きっかけ|「インタース」誌別冊PLC本]]と[[https://openplcproject.com/|OpenPLCのサイト]]の情報などを参考にしてます。+  * 後はサイト内の[[https://openplc.discussion.community/|フォーラム]]で、個別トピックの投稿を追っていくことで理解が深まります。\\ ユーザーらの困事相談色々なやりとりに直接サポート窓口はなォーラムへの投稿を通して行われるタイルなって。作者や他の会員各投稿へ回答サポートを行っていま\\ 公式ドキュメントで解決でない困たことが出てきたら、ラム過去投稿関連するものが無いかまず検索してみるのが基本です。その上でフォーラム内で直接質問(会員登録要)もできます。
  
-  * {{ :howto:open_plc:pa074786_w600.jpg?direct&200|}}製造ラインの自動化のため使いたいのであれば「シーケンス制御プログラ極意」(熊倉英樹著、日刊工業新聞社)という本が基本考えから具体的な手法まで丁寧説明されていてよかったです。ただしそれ以外の分野で使場合には、該当しない部分も多いです。 +  * IEC61131-3準拠してPLCプログラミング仕様の詳細はそちらを参照するということで、プログラミング方にいてもマニュアルはありません(Learningのページに今後作るようですが)
-\\ +
  
-==== ラダーダイグラムでのログラミング基本 ==== +  * ソフトはバグ対応や機能プの改修が随時続けられており、同じレビジョンでも日単位で頻繁に更新されています。すでに使っていエディターを最新状態にするのは、最新版のチェックメニューありそこから更新が出来るようになっいます。\\ \\ 以前その機能で更新をしてアップデートしたらエラーが出たので、OpenPLCのフォーラム内で同様の内容のエラー報告を探して見けたところ、[[https://autonomylogic.com/download|OpenPLCプロジェクトのホームページ]]からダウンロードしたインストーラで再インストールするよう指示されいました。半月ほど戻った日付のリリース版なりましたがそれでエラーが解消しました\\ \\ 簡単に更新できるの便利ですが。もしそで不具合出たら前のバーションは戻れで、公式ページ掲載さているメジャーリリース版に入れ直してください。 
-初心者でもが、初めの人向けにラダイアグラム簡単説明しま正確と言い切ませんが、最初疑問を抱きがち理解の助けばと思ます。 + 
-こちへ[[howto:open_plc:basic|「ダープログラグことじめ」]]。+  * エディターを最新版に更新するのは、メニューかチェックと更新が出来るようになっていますが、 一方ンタイムの方は、自分で更新作業をすることになります。新しいプログラムのイストールのプロセスで、古いもの削除して入れ替えてくれます([[https://openplc.discussion.community/post/updating-the-runtime-12504526|参考]]) 
 +(2024/04/20)
 \\  \\ 
 +===== ハードウェアについて =====
 +前項のように色々なハードウェアでOpenPLCは動かせるわけですが、PLC製品として売っている以外の汎用のコンピュータの場合、出力の電流・電圧が小さく、いろいろな機器を接続するにはそのためのハードウェアが必要になります。
 +  * {{ :activities:products:p2273499_w600.jpg?direct&200|UniPi technology}}私が展示物の自動運転で使っているのは、[[https://www.unipi.technology/|Unipi Technology]]社の[[https://www.unipi.technology/products/unipi-1-1-1-1-lite-19?categoryId=1&categorySlug=unipi-1-1|UniPi 1.1]](UniPi Industrial Platform)という**RaspberryPiのPLC用拡張基板**の製品です。その上に手持ちのRaspberryPiを載せて、電源と一緒にケースに入れて使っています。\\ ([[activities:products:plc|参考:PLCによる展示物の自動運転]])\\ \\ 
 +  * {{ :activities:products:p6114140_w600.jpg?direct&200|CQ出版社}}もともとPLCに興味を持つきっかけになったのは、インターフェース誌の「**ラズパイでPLC**」という連載なのですが、その記事をまとめた書籍が発行されていて、そちらを参考にさせていただいています。\\ この本には、記事中に出てくる実験基板の引換券がついていて、後は部品とRaspberryPiと電源を用意してはんだ付けすればPLCとして使えます([[https://akizukidenshi.com/catalog/|秋月電子通商]]で部品のセット(gK-15645,gK-15925)も基板(gP-15646,gP-15926)も販売しています)。私もこの基板を一式作ってみました(ケースに電源とコネクタ類を入れて[[activities:products:plc-2_1|PLC2号機]]としました)。書籍に回路図や解説があって、手軽に試して学べるのでおすすめです。\\ 
  
-==== ケース別プログラム手法<入力> ==== +  * 接続部分回路自体はそれほど難しいもではいの、慣れてきたら自作するのもよさそうです。
-動作起点とる情報を取り込ん利用する仕組みを作りたいとき手法です。 +
-  * [[howto:open_plc:sys_time|システムの日時情報を利用する]]:時刻に合わせて何かさせたいとき+
  
-  * [[howto:open_plc:time_period|自動運転の時間帯を設定する]]:日中のみ稼働とか時間区切りたいと+  * 出来合いのPLC製品ということでは、Arduino公式にArduino-proというシリーズがあり、その中の[[https://www.arduino.cc/pro/portenta-machine-control/|Portenta Machine Control]]、[[https://www.arduino.cc/pro/hardware-arduino-opta/|Opta]]といったPLC製品は、公式[[https://www.arduino.cc/pro/software-plc-ide/|Arduino PLC IDE]]いうPLCプログラミングソフトも提供されており、選択肢としてもいいのではないでしょう。\\ これらの機種について、Open PLCは、Machine Controlサポート機種に載せてましたが、ここで[[https://openplc.discussion.community/post/arduino-opta-on-openplc-editor-12653922|Optaも使えるこになった(2023/06/14)]]そうです。
  
-  * ちらちら不定期にON/OFFするセンサ(焦電センサ)のデジタル信号ら運転開始めのON信号作成す:自動人検知+  * Arduino公式が、産業用いう従来製品に比べ大きめのPLC製品出してきて、この分野に手を広げてい印象がある一方で、OpenPLCは、PLCを小さなマイコンボーで使えるようにしようと、対象的に進んできている印象があります。マイコンチップもどんどん高性能で小さく安くなっており、それをPLCとして使える手段が加わることによって、できること可能性が大きく広がってきています。(2024/4/20) 
 +\\ 
  
-  * 非接触スッチで動作るものに留意る点:+===== マコンボード(Arduino純正/互換機)への対応について ===== 
 +前項に書いたように、OpenPLCはArduinoを始めたとした小なマイコンボードでの利用をしやすくす大きな変更をいくつか行ってきました。短期間で状況かなり変わってきていますで、少し整理してみま
  
-\\ +  * 私がOpenPLCを雑誌記事で知った2020年あたりでは、Ardunoボードは、OpenPLCのシステム上ではslaveデバイスとして、ラズベリーパイやパソコンなどのhostデバイスに接続して、Hostの手足として、接続する機器の数を増やしたり、利用するエリアを広げたりする役割に限られていました。
  
-==== ケス別のプログラム手法<出力> ==== +  * 一口にArduinoボドといっても、Arduino IDEでプログラムを作ってマイコンに書き込むArduinoの仕組みが、その互換機や他の様々なマイコンボードでも利用されようなっています。\\ OpenPLCでは、Arduino純正製品+α公式対象機器としていますが、自分で設定すれば対象外のボードでも使うことが来ます(Arduino IDEが使える製品なら比較的容易のこと)。
-接続する機器自動運転すアウトプット関する手法です。 +
-  *  [[digitally_analogout|アナログ出力デジタルに使う]]:アナログ力チャンネルをデジタル的なON/OFF制御に使いたい+
  
-  * 複数機器リレー運転させる。+  * 2021/10/16に、従来slaveとしてしか使えなかったマイコンボードを、単体独立したPLCとしても使えるようにする[[https://openplc.discussion.community/post/openplc-native-support-for-arduino-boards-in-beta-11984879|大幅な変更]]が加えられました。更にslaveとして利用する場合でも、単体で行う動作は保持して、HOSTからの指示と両方組み合わて使うこともできようになりました。\\ \\ 更にエディターでマイコンボードにプログラムを書き込む際に、ピンごとの機能割当て(デジタルIN/OUT、アナログIN/OUT)を初期値から変更したり、HOSTとの通信手段(Modbus)を有線/無線で設定するパネルが新設されました
  
-\\ +  * さらに、先日(2024/4/13)に行われた新たな[[https://openplc.discussion.community/post/new-feature-arduino-sketch-on-plc-programs-13249303|機能追加]]は、Arduino IDEでプログラミングする際のスケッチ(コードやライブラリ)をそのままOpenPLCエディター内に取り込んで、一つのマイコンにArduinoプログラムとPLCプログラムの両方を書き込むことができるというものです。\\ \\ ポイントは、両方のプログラムで一つの変数を共通に設定できるというところです。Arduinoプログラムで取得したセンサーの値を、PLCプログラムでそのまま使って制御に利用するというようなことが、簡単にできるようになります。\\ \\ これまで、掲示板を見ていても、OpenPLCでサーボモーターを動かすにはどうすればよいか等、PLCでやらなくともよいだろうという内容の相談が寄せられていたり、PLCに接続するこのセンサーを動かすOpenPLCのライブラリはないのか等、個別機器への対応を求められたりもしていました。\\ この辺のニーズには、自分でライブラリを書いてシステムに組み込む方法の説明や、Python Sub Moduleという自作Pythonプログラムを取込む仕組みの対応がされてきましたが、いずれにせよ誰にでもできるものではなくハードルが高いものでした。\\ \\ それに対し、今回のArduinoスケッチの取込み機能は、作者によれば、Arduino言語(C++)にあまりなじみの無い人が、世間に多く出回っているArduinoのプログラム資産をコピーして、PLCと組み合わせることで、これまで出来なかったことが容易に出来るようになることが一番いいところだとのことです。ArduinoのプログラムをPLCの言語に書き直さなくてよくなり、ハードルが大きく下がります。\\ \\ 出たばかりなのでこれから課題等いろいろ出てくるかと思いますが、画期的な機能追加なので、注目していきたいと思います。 
 +(2024/04/20) 
 +===== PLCの国際基準 IEC61131-3 ===== 
 +  * 生産設備のオートメーション等に多く使われてきたPLC(プログラマブル・ロジック・コントローラー)のプログラムを共通化することで、異なるメーカーのPLCでも同じプログラムが再利用できるような効率的な環境を目指す国際基準です。PLCプログラムの仕様を詳しく規定しています。
  
-==== ケス別プログラム手法<そ他> ==== +  * メカー独自仕様PLCが広く普及していた日本も今後基準へ対応が進むと思いますで、新たに始める際はこ基準勉強すべきでしょう
-上記入出力つなぐロジックの組み立て方など+
  
 \\  \\ 
-各手法でリンク無いもは今後中身記事をして追加しています(作成予定項目です +このページの分量増えたで、[[howto:open_plc:howto_make_LD|ラダープログラムの作り方]]の項目は別ページに分けました。 
-\\  +※私が理解している内容で書いているので、もかしたら誤解や理解不足等あるかもしれません。元情報へのリンクをつけていますので、活用の際はご自分で確認・検証をお願いします。
howto/open_plc/index.html.1689499180.txt.gz · 最終更新: 2023/07/16 18:19 by Staff_Ujiie