ET & IoT 2021 特集

mruby/cが工業用ミシンの不良率を8割削減、ローコード開発環境への展開もET&IoT 2021

しまねソフト研究開発センターは、「ET&IoT 2021」の「フクオカしまねmruby×IoTパビリオン」において、軽量の組み込み機器向けプログラミング言語「mruby/c」の採用事例や、プログラミングに詳しくない初学者や製造業の技術者向けのローコード開発環境などを紹介した。

» 2021年11月24日 06時30分 公開
[朴尚洙MONOist]

 しまねソフト研究開発センターは、「ET&IoT 2021」(2021年11月17〜19日、パシフィコ横浜)の「フクオカしまねmruby×IoTパビリオン」において、軽量の組み込み機器向けプログラミング言語「mruby/c」の採用事例や、プログラミングに詳しくない初学者や製造業の技術者向けのローコード開発環境などを紹介した。

 mruby/cは、軽量Rubyとして知られるmrubyをさらに小型化した組み込み機器向けプログラミング言語である。消費メモリ容量は数十KB(50KB未満)で、16ビットマイコンでも実装可能なことを特徴としている。その一方で、Rubyの持つ生産性、表現力の高さを引き継いでおり、組み込み機器の開発で広く用いられているC言語よりも短いステップで実装が可能だ。

 これまでmruby/cの採用事例の多くはIoT(モノのインターネット)プロジェクトのPoC(概念実証)などが多かったが、今回の展示では実運用されている機器での採用事例が紹介された。

 例えば、JUKI子会社のJUKI松江では、工業用ミシンの制御プログラミングにmruby/cを採用した。自動車用シートなどの厚革の皮革製品向けの工業用ミシンは制御にカスタマイズが必要であり、そのために最適なPLCのプログラミングを効率化することが課題になっていた。そこで、軽量なスクリプト言語であるmruby/cに着目。プログラミング作業の負荷を減らしつつ試作開発プロセスを重ねることで、縫いの不良が発生する確率を従来比で80%低減することに成功した。また、mruby/cで作成したコードが軽量なこともあり、制御装置のサイズを従来比で50%削減、コストを25%削減できたという。

JUKI松江の採用事例 JUKI松江の採用事例[クリックで拡大] 出所:しまねソフト研究開発センター

 また、富士通系のITベンダーであるテクノプロジェクトは、コロナ禍に対応するCO2モニタリングIoTシステム「WaKaYo」の開発でmruby/cを活用した。WaKaYoは、厚生労働省が推奨するNDIR(非分散型赤外)方式で正確にCO2を測定し、スマートフォンやタブレット端末のアプリに表示するシステムだ。センサーユニットの制御はPIC32マイコンとmruby/cで、アプリの開発はRubyで行っている“オールRuby”で構築したシステムとなる。同社は、ソフトウェア系ITベンダーであり、マイコンを用いた制御は専門ではなかったものの、Rubyの知識があれば扱えるmruby/cを用いることで、短期間での開発につなげられたという。

テクノプロジェクトの「WaKaYo」 テクノプロジェクトの「WaKaYo」。“オールRuby”で構築した[クリックで拡大] 出所:しまねソフト研究開発センター

「smalruby3」や「Node-RED」でローコード開発環境に展開

 軽量で扱いやすいmruby/cだが、これをさらにローコード環境に展開しようという取り組みも進んでいる。松江工業高等専門学校との共同研究では、ScratchをベースにRubyのビジュアルプログラミングを行えるようにした開発環境「smalruby(スモールビー)3」とmruby/c、mruby/c対応のPIC32マイコンボード「RBoard」を用いたIoT教材を開発した。学生向けにとどまらず製造業の技術者にも展開しており、ニッポーの島根工場(島根県奥出雲町)では、プログラミングスキルを持たない社員がこのIoT教材を用いて製造検査工程の自動化を行うというフィールド実証に用いている。

「smalruby3」によるビジュアルプログラミングmruby/cのコードを出力 「smalruby3」によるビジュアルプログラミング(左)でmruby/cのコードを出力し、「RBoard」に実装できる(右)[クリックで拡大]

 一方、九州工業大学との共同研究では「Node-RED」をベースにmruby/c対応のRBoardを扱うためのモジュールを追加した開発環境を披露した。これにより、IoTシステムの開発などで活用されているNode-REDを用いたデータフロープログラミングにmruby/cを活用できるようになるという。

「Node-RED」をベースにmruby/c対応の「RBoard」を扱うためのモジュールを追加した開発環境 「Node-RED」をベースにmruby/c対応の「RBoard」を扱うためのモジュールを追加した開発環境[クリックで拡大]

⇒その他の「組み込み開発ニュース」の記事はこちら

Copyright © ITmedia, Inc. All Rights Reserved.