Slide 1

Slide 1 text

フューチャー社における IoTシステム構築の 事例紹介 テクノロジーショーケース Future株式会社 Mano Junki ~ ファクトリーからモビリティへ ~ WebDB Forum 2018 9/14(金)

Slide 2

Slide 2 text

○ フューチャーにおけるIoTシステムの事例紹介 ○ 設計~実装を通して得た、IoTシステムの面白み、 ツラミ、そしてIoTシステムの魅力についてお話し ます ○工場IoT、モビリティIoTの順に紹介します 本日お話すること

Slide 3

Slide 3 text

真野 隼記(まの じゅんき) * 2009年フューチャーアーキテクト入社 * 神戸大学 電気電子工学卒 * クラウド、IoT、Golangがメインのエンジニア ポエマー目指して投 稿してます @laqiiz

Slide 4

Slide 4 text

フューチャー株式会社 設立 1989年11月28日 (創立30周年!) 社員数 1,493名 (2016年12月) 事業 内容 ・ITコンサルティング&サービス事業 ・ビジネスイノベーション事業 指標 売上高:362.6億円 営業利益:44.5億円

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

IoTといえば 一般的に思い当たるのが…

Slide 7

Slide 7 text

IoTといえば 一般的に思い当たるのが… スマートゴミ箱 スマート時計 スマート鍵 スマートホーム 色々ありますが、生活をスマートにする製品群

Slide 8

Slide 8 text

モビリティ 店舗 工場 商品 消費者 従業員 漁業 その他 農業 漁業 馴染みが薄いであろう領域を中心に お話します

Slide 9

Slide 9 text

グローバルで100超の拠点 生産性を デジタルの力で30%アップ 工場IOT SMART FACTORY

Slide 10

Slide 10 text

工場IoT エッジサイド

Slide 11

Slide 11 text

スマートファクトリーIoT概観 収集 加工 蓄積 分析 通知 分析 Cloud ○ 工場内の各センサーデータを収集・分析し、生産性や品質向上に役立てる仕組み ○ 既存の製造設備をコネクテッド化するのが第一歩

Slide 12

Slide 12 text

収集 加工 蓄積 分析 通知 分析 Cloud データ粒度 小 大(サマリ) データ発生源がもっとも複雑

Slide 13

Slide 13 text

よくあるWebアプリケーションと異なる点① ○ 要求/応答でコンテンツを返すのではなく、データをとにかく受け付 け後で処理するという点 = サーバサイドで対応する必要があります クライアント =ブラウザなど サーバ クライアント =IoTデバイス サーバ よくあるWebアプリケーションの簡易図 IoTシステムの簡易図 Request/Response Streaming Processing

Slide 14

Slide 14 text

よくあるWebアプリケーションと異なる点② ○ 欲しいデータを効果的に取得する必要がある点 ○ センシングが物理的に可能か、サンプリング間隔などの問題 クライアント =IoTデバイス サーバ センシング センシング

Slide 15

Slide 15 text

よくあるWebアプリケーションと異なる点③ ○ 工場の設備はPLC( Programmable Logic Controller)と呼ばれる 制御装置で作成されていることが多いです ○ ある程度オートメーション化された加工情報を取得≒PLCからデータ を取得するということ PLCの例 PLC

Slide 16

Slide 16 text

PLCからデータを収集するとは.. ○ PLC(Programmable Logic Controller) ○ リレー回路の代替装置として開発された歴史 …まずは業務用のマイコンのような認識でいると良いのでは? ○ PLCのレジスタに加工記録が残っている 値段はピンきりですが、1台5万円程度~

Slide 17

Slide 17 text

PLCからデータを収集するとは.. ○長さ、厚み、ガス圧、バーナー温度etc. ○センサーがPLCにシリアル接続されていて、その値がPLCのレジス タに格納される センサー カメラ

Slide 18

Slide 18 text

立ちはだかる壁~PLC編~ PLCからどうやってデー タ取れますかね? (HTTP、MQTTとか?) シリアル、Ethernet CC-Link、EtherCATなど がありますが、どうしま しょうか? わたし 工場エンジニアさん

Slide 19

Slide 19 text

CC-Link、EtherCAT調べた ○ 工場用のフィールドNW規格である ○CC-Link は10Mbpsの転送速度を選ぶと、100mまで対応できるといった規格 ○正確には、CC-Linkにも種類があり、Ethernet上に構築するものもあるらしい ○ 物理層・データリンク層のレベル

Slide 20

Slide 20 text

OSI参照レイヤーの 物理層から違う!

Slide 21

Slide 21 text

こぼれ話その② 汎用的なEthernetが 良いのでは?通常のLAN と併用できますし そもそも、PLCの中には Ethernetに接続できない ものがある わたし 工場エンジニアさん

Slide 22

Slide 22 text

接続できなかったら IoTができない…

Slide 23

Slide 23 text

古いPLCにはEthernetポートが無 いらしい ○手段としては、Ethernetカートリッジを購 入するか ○当然ながら素直に新しいものを買えという話も…

Slide 24

Slide 24 text

サーバへのデータ送信 PLC上ではどんな言語が 動かせますか?HTTPが 話せればよいのですが… わたし CとかJavaは動かせない FTPかSMTPで転送するか ベンダーさん

Slide 25

Slide 25 text

C言語、動かない? ※ラダーなら動く ラダーについての説明は割愛

Slide 26

Slide 26 text

PLCからのデータ取得は困難 ○ いわゆる汎用型言語が動かせないため Web系のエンジニアリングがしにくい ○FTP,SMTPは非常に制限された設定しかできず、 また、専用ツールからしか設定できない ≒Infrastructure as a Codeは夢のまた夢

Slide 27

Slide 27 text

【参考】標準化の流れ ○ 独国のIndustory 4.0の流れを受けて加速 ○ OPC-UA, ORiN, EdgeCrossなど、標準プロトコル、 標準仕様、標準化コンソーシアムが多数 ○ TCP, シリアル上に通信プロトコルを重ねる場合と、 SOAP (*1) on HTTP で構成されていることが散見 ※ 簡単にいうと、RESTのXML版でAPI規格(OpenAPI-Specification)もXMLで記載できる

Slide 28

Slide 28 text

最終的には ○PLCはEthernetに接続(IPを付与) ○FTP転送機能でデータ収集

Slide 29

Slide 29 text

工場IoTの構成例 センター PLC PLC FTP HTTP ○ FTPで直接、クラウドなどのサーバにデータを転送するのではなく、 中継サーバを設置 中継サーバ

Slide 30

Slide 30 text

PLCへのデータ書き込み ユースケース: 工場作業者が、自分でマニュアルを見ながら設備の設定 を入力する運用を無くして、入力の手間と間違えを無く したい 実現方法: 多くの設備では独自プロトコルが存在。 例として、業界標準の一つであるMCプロトコルがある

Slide 31

Slide 31 text

MCプロトコルについて ◇【例】要求伝文 500000FFFF03000C001000010400002C0100A80300 ◇ 【例】応答伝文 D00000FFFF03000800000001000A006400 Socketでこういう電文を 送ることでレジスタに かきこみでる ※TCP上に構築された、独自HTTPといった具合のプロトコル

Slide 32

Slide 32 text

工場IoT サーバサイド

Slide 33

Slide 33 text

IoTサーバサイド ○ 3000設備が1[kb]程度のメッセージを毎秒3回送信 ○ 高負荷に耐えられる仕組みが必須 ○ 拠点側からのリトライなどは期待できない …あまり手を入れたくない

Slide 34

Slide 34 text

処理モデル ○リクエスト・レスポンス型 ○バッチ型 ○ストリーミング型

Slide 35

Slide 35 text

処理モデル トレードオフ ○ 応答性能(レイテンシ) ○ コンピュータ資源 ○ 正確性

Slide 36

Slide 36 text

IoTシステム ○ 人間が待っているわけではないのでリクエスト・レス ポンスである必要はない ○設備の故障検知など、なるべく早くデータは処理したい ので、バッチでは応答性能が厳しい場合がある → ストリーミング型の処理モデルの採用へ

Slide 37

Slide 37 text

キューイングシステムの導入 いったんキューで受け付け、そのあと順次処理する 加工や分析 永続化 通知・可視化 ストリーミング処理

Slide 38

Slide 38 text

例:OSSプロダクトによる構成 いったんキューで受け付け、そのあと順次処理する 加工や分析 永続化 通知・可視化 ストリーミング処理

Slide 39

Slide 39 text

データ処理パイプライン ○ 生データをパースし “意味付け”、目的別に分類、品質 や稼働状況などを取得するといった多段処理へ 生 デ ー タ ( バ イ ナ リ ) 品 質 情 報 稼 働 状 況 受信 パース後 品質 元データ 稼働 元データ

Slide 40

Slide 40 text

キューイング後の流量 ○ キューイングからの取得件数を調整することで下げる ことが可能(≒レイテンシが犠牲になる) ○ 同一タイミングで送信されるデータが多いときはフリ ーランチな引き換えになる 入力データ 3件分一括で取得して処理 ≒必要なコンピュータ資源を下げ られる→運用費用を下げられる

Slide 41

Slide 41 text

データの蓄積について ○ 時系列データになる ○ もともとより流量は下がっているとはいえ、 分散型のKVSなどに格納するのが基本

Slide 42

Slide 42 text

【参考】可視化・品質情報 ○ 多くのメトリクスから洞察し生産現場へ フィードバック

Slide 43

Slide 43 text

工場IoTまとめ

Slide 44

Slide 44 text

まとめ ○ 設備機器からの収集部分に壁があり …規格のオープン化・標準化により一層Webの世界との融合ができることを期待 ○ サーバサイドに届いてしまえばいつもの世界 …公開されているプラクティスも多く、慣れた世界 ○ 工場IoTのカバーする領域は広い!(面白いところ) …現実世界とデジタル空間をつなぐ楽しみ

Slide 45

Slide 45 text

現実の世界を1 秒以内にデジタル化 対象とする自動車は 数N万台 モビリティIOT DIGITAL TWIN

Slide 46

Slide 46 text

モビリティIoTとは? ○ 移動体、多くは自動車などを指します ○ 車をインターネットに繋ぎ様々なサービスへ展開 ○ ○ 都市交通・物流に対してよりよくしていきたい

Slide 47

Slide 47 text

工場IoTとの違い ○ とにかく動く、しかも早い - 迷ったら安全側に倒すしかない。また、位置情報が宝 ○ 接続数が多い - 物流業者のトラックだけでも桁違い - 家庭乗用車などを含めると、数千万台規模 ○ 車種が多い - 自動車メーカ毎に対応が必要

Slide 48

Slide 48 text

一方、システム構成は ○ 大枠のシステム構成は似通ってくる ○ 接続先が工場から各モビリティに変わる 加工や分析 永続化 ストリーミング処理

Slide 49

Slide 49 text

要件が厳しくなりがちな点 ○ モビリティに対する通知や制御をなるべく 早く行いたい 例)運転手への注意喚起などなど →200~300[ms] で実施”したい”など (*1) ※1) あくまで要望ですが、これを以下に早くするかで業界で競争が進んでいる領域

Slide 50

Slide 50 text

データの振り下ろし ○ モビリティ側でグローバルIPを持ちたくない …IPv6ならという話もあるが、セキュリティやセンター側の保守管理的にも ○ なるべくリアルタイムで処理したいので、ポーリングは避けたい ○ サーバサイドでプッシュ通知したい →MQTT(AMQP)プロトコルの活用へ

Slide 51

Slide 51 text

MQTTを活用した通信 ○ モビリティ側はMQTT のpublisherにもsubscriber にもなる ○ 正直、まだまだ研究のしどころがある分野 MQTT publish MQTT subscribe MQTT ブローカ 加工や 分析

Slide 52

Slide 52 text

検討テーマ ○ MQTTブローカーのスケーラビリティの弱さ …そんなに簡単にスケールしない ○ MQTT上で通信品質を管理するスタックの構築 …メッセージの信頼性(QoS)、順序性、データ欠損、遅延配信への対処などなど ○ 移動や、Wifi, 3g/4g/5g など回線の切り替えのときの再接続への考慮 …TCPハンドシェイク、TLSハンドシェイクをする必要 …QUIC(UDP上に構築されたGoogleが標準化を目指しているプロトコル)など?

Slide 53

Slide 53 text

位置情報を用いたサービス ○ リアルタイムなトレーシング ○ 指定のエリアに入ったら 広告をプッシュするなど

Slide 54

Slide 54 text

桁違いのデータ量 ○ zip圧縮後、5[TB]/日 のデータが発生 ○ もはや分散処理しなければどうしようもない ○データ構造、アルゴリズム、コンピューティン グの総合格闘技

Slide 55

Slide 55 text

データのチャンク ○ ひとかたまりで分析する粒度は、トラジェクト リーという粒度 移動開始~停止までの粒度。 ○ 時間で単純に処理できないため、どの程度停止 したら1トラジェクトリーとしてみなすかは試行 錯誤中

Slide 56

Slide 56 text

モビリティIoT まとめ

Slide 57

Slide 57 text

モビリティIoTまとめ ○ まさに国際競争の最前線 ○ AIだけではなく、IoT領域への期待値がか つてなく高まっている ○ モビリティという特殊性、大量のデータ処 理を行うには、広く深い知見が必要

Slide 58

Slide 58 text

全体まとめ

Slide 59

Slide 59 text

全体まとめ ○ デバイス、通信、サーバサイドなど幅広い知識が必要 ○ 対象はユーザではなく現実世界そのもの ○ 知らない世界ばかり、楽しい

Slide 60

Slide 60 text

質疑応答