Upgrade to Pro — share decks privately, control downloads, hide ads and more …

NervesJP_8_ALGYAN

myasu
July 10, 2020

 NervesJP_8_ALGYAN

myasu

July 10, 2020
Tweet

More Decks by myasu

Other Decks in How-to & DIY

Transcript

  1. 自己紹介
 • 本業:とある製造業の”生産技術” ◦ 自動化設備・生産治具の設計・製作、現場カイゼン          (ラダー、 Python、C++) ◦ 社内向け業務ソフト開発( C#,

    SQL Server) • コミュニティ ◦ IoTALGYAN せとうち連合 岡山支部長 ◦ 瀬戸内ROS勉強会 (設立&岡山主催) ◦ NervesJP (設立メンバ) ◦ kurashiki.ex (立ち上げるかも? myasu
 @etcinitd yasuhiro.miyake.5076 @trihome 2 @myasu
  2. 産業用途で使われる機器 • FA機器 (Factory Automation) • スイッチ、ランプ、センサーなど ◦ 誘導電動機、空圧・油圧機器、ガス、液体・・・ • 頑丈!

    ◦ 少々荒い使い方をしても、壊れない • 電源、基本はDC24V ◦ あるいはAC100V, 200V, 三相・・・ ◦ マイコンなど電子機器と繋げるには、一工夫必要 12 (写真:Panasonic, IDEC, PATLITE)
  3. 産業用途で使われる制御機器 • PLC (プログラマブル ロジック コントローラ) ◦ 安いものだと1万円程度から ◦ 入出力10点くらいから ◦

    20年くらいは販売が継続 ◦ ネットワーク無し。オプションで+ 2万円くらい ◦ オプション付けると色々出来る。けどあっという間にン十万円(!) • タッチパネル ◦ モノクロ3インチで2万円弱から ◦ カラー15インチで30万円以上(!) (耐障害性、安定性、長期供給は保証) 13 (写真:Siemens, DIGITAL)
  4. RaspberryPi を PLCっぽく使う PLCの考え方を取り込んでみよう!     モジュールを追加して機能拡張する概念→ • RaspberryPiにFA用機器を直接接続する ◦ 電圧の違い(3.3V ~

    24V)を相互変換する機能 • 機能拡張しやすい仕組み ◦ Seeed社のGROVE System 15 CPU IO AD Ether ・・・
 (写真:Siemens, Seeed Studio)
  5. センサの信号
 FA機器とRaspberryPiの接続 16 (写真:Siemens, DIGITAL) 用センサなど
 用表示灯など
 で動作する機器
 
 Vで動作する部品


    フォトカプラで
 電気的に絶縁
 フォトカプラで
 電気的に絶縁
 トランジスタ
 アレイで
 電流増幅
 表示灯の信号
 表示灯を点灯
 センサの信号

  6. RaspberryPi を PLCっぽく使う 22 Grove Base 
 Hat for Raspberry

    Pi 
 UPS&
 電源監視
 ユニット
 Raspberry Pi
 GPIO24V~3.3Vレベル変換 &RTCユニット
 アナログ
 GPIO24V
 赤:通信異常など
 青:正常運転
 様々な
 既製品のセンサー
 (無ければ自作)
 様々なFA機器

  7. 再利用しやすく・頑丈に FA部品を活用、汎用的な制御盤に仕上げ 23 •サーキットプロテクタ
  (IDEC、富士電機)
 •端子台
  (東洋技研、WAGO)
 RaspberryPi
 GROVE Hat


    •プラボックス
  (日東工業、タカチ)
 •アルミフレーム
  (NICオートテック)
 •ゴム足
  (タキゲン)
 •コンセント
  (パナソニック)
 •ランプ、スイッチ
  (IDEC、オムロン)
 •タワー表示灯
 (日恵製作所、パトライト)
 •DINレール、配線ダクト
 (篠原電気)
 300mm
 500mm

  8. どんなプログラム言語を使おう? • C#  (作例3) ◦ 個人的に一番好きな言語  ( .NET 1.0から使ってる)      ◦ Windows 10

    IoT Core!VisualStudio使える!!画面も作れる!!!最強!!!! ▪ でも、最近アップデートがなくてツラい ◦ .NET Core → LinuxのGUIが・・・ • Python(作例1、2) ◦ 一昨年から勉強はじめた。 ◦ とにかくサンプルが多くて助かる。( ”えいやぁ”で、すぐ作れちゃう) ◦ GUIもOK(Kivy) 24
  9. ROSの活用 • ノード単位で機能を構成 ◦ ノード間はPUB・SUB通信 • 異種言語の混在OK • パッケージで機能の再利用 •

    roslaunchでプロセス管理 • ソースはRaspberryPiの中に保存 • 概ね、やりたいことが出来たが・・・ ◦ RaspberryPiだと動作が重い ◦ 機能が高度・豊富すぎて勿体ない・・・( Gazebo, MoveIt とか) 27 作例2:設備の稼働集計装置は 
 ROS Melodic (Python)で 
 動いてます
 (Robot Operating System)
 (写真:ROS.org)
  10. 構成 33 Raspberry Pi
 GPIO I2C 自動運転コード Auto.ex 個別動作の 定義コード

    Worker.ex Elixir Circuit モジュール ドライバ Mcp23017.ex Elixirコード プロセス管理(スーパーバイザ) Application.ex :GenServer
 電気的 絶縁 & 電圧 レベル 変換 (写真:IDEC, 日惠製作所 , elixir-circuits.github.io) FA機器

  11. 構成 34 Raspberry Pi
 GPIO I2C 自動運転コード Auto.ex 個別動作の 定義コード

    Worker.ex Elixir Circuit モジュール ドライバ Mcp23017.ex Elixirコード プロセス管理(スーパーバイザ) Application.ex :GenServer
 電気的 絶縁 & 電圧 レベル 変換 FA機器
 ここの書き方は
 こちらの書籍を参考
 インプレスR&D
 「Elixirへのいざない」 
 著者:川邑 リュウさん 
 
 (写真:IDEC, 日惠製作所 , elixir-circuits.github.io)
  12. RUN中書き込み • PLC特有(?)の機能 • プログラムの実行を一切止めることなく、ソースを書き換え • 書き換え直後から、そのまま新しいロジックで動き続ける ◦ 設備を作っているとき、試運転中のデバッグ ◦

    現場で稼働しながら、制御の小改造をするとき などの場面でよく使う機能 • VisualStudioの「Edit and Continue」みたいな機能? ◦ ブレークしなくても書き換えできるのが ”RUN中” 37
  13. 作例・Elixirで動かそう!産業機器 デモその3 • 最近 流行り(?)の「遠隔ハンコ押し機」 ◦ ・・・の、ハンコを押すアクチュエータを製作 ◦ クラウド側は、先の方の発表内容でつくれそう! •

    逸般の誤家庭にある「電動サーボシリンダ」 Elixir&Raspberry Piで制御にチャレンジ ◦ 3.3V→24Vレベル変換は、自作回路で。 42 (写真:いらすとや)
  14. 作例・Elixirで動かそう!産業機器 電動サーボシリンダ • 位置制御 ◦ 精度 ±0.02mm以下 ◦ 速度 1000mm/sec以上 • トルク制御

    ◦ 指定の押し圧に達したら停止 ◦ 今回はこの機能を使って、 ”いい感じ”に押印 43 (写真:IAI) スライダが 前後に移動 ロッドが 伸縮 大きさ
 200~2000mm

  15. まとめ 1. Raspberry Piを、製造現場で活用する工夫について 2. Elixirだから、できそうなこと • 組込み向けの情報が少ないので、色々試行錯誤中・・・ ◦ (ハマったら、使い慣れた

    Python |> ROS2(rclex) |> Elixir で解決!) • ナウでヤング(まだ作例が少ない)→ 試した分だけ新たな知見! • 少しでも興味を持って頂ければ、”NervesJP”にも JOIN! 46
  16. 参考情報 1. Elixir概要 a. https://speakerdeck.com/cooldaemon/erlang-falsele-sisatoxin-sa 2. 言語の習得 a. ”完全に理解した!” i.

    https://agency-star.co.jp/column/elixir-language ii. https://employment.en-japan.com/engineerhub/entry/2017/06/12/110000 b. 教科書 i. https://elixirschool.com/ja/ c. Tips i. https://qiita.com/tags/elixir d. Nerves i. https://www.slideshare.net/takasehideki/nerveselixiriot ii. https://qiita.com/takasehideki/items/94820516ec95b85bae32 e. GUI i. https://qiita.com/piacerex/items/3f8ee18c9443d63955bf ii. https://hotch-potch.hatenadiary.jp/entry/2020/06/20/214043 47