フューチャー技術ブログ

工場をハックするための基本知識 前編

はじめに

初めまして、TIG DXユニット 1所属の栗田です。宇宙物理を専攻して人工衛星を打ち上げた後、とある鉄鋼会社の社内SEとして勤務したのち、フューチャーに入社しました。制御系を中心にしながら、各種システムを担当しています。また、プライベートでも開発を行っており、最近ではPyConJP 2019のLTにて発表を行うなどしています。

Industry4.0が打ち出されて以降、多くの工場にて各種IT技術を導入しようという試みが行われていますが、基幹系やWeb系を行ってきた方と、従来制御系を取り扱ってきた方の間に大きな隔たりがあるのを見てきました。特に制御系の世界は独特な空間が大きいので、そもそもどのような構成になっているかを説明します。

後編も公開されました: https://future-architect.github.io/articles/20200120/

以下、一般的な範囲で述べます。

工場をつくろう

今回は一番大規模なプロジェクトとして、工場建設をテーマにします。プロジェクトによっては既設の工場に対して手をいれるケースもありますが、基本的な全体構成としては変わりません。よって、気をつけるべきポイントも同様です。

工場と一言に述べても、規模はさまざまです。下町ロケットにみられるような町工場から、複数の工程からなる大規模工場までさまざまです。複数の工程からなる大規模工場も製鉄のような素材系工場から、自動車工場のように消費者向け製品を直接製造する工場まであります。自動車工場のような所は比較的TVなどにも映りますので、今回は大規模工場をイメージしていきます。

工場を作る流れ

工場建設のため今回新たにプロジェクトチームが組織されました。プロジェクトリーダー(PL)を筆頭に、各種関係要素部隊が組織されます。

  • プロジェクトリーダー(PL)
    1. 工場建設部隊
      1. 土木建設部隊(工場の基礎やガワを作る部隊)
      2. 機械設備部隊(中に設置する機械を担当する部隊)
      3. 電気系統部隊(各種機械へ電源を供給する部隊)
      4. システム関連部隊(機械を制御したりデータのやり取りをする部隊)
    2. 運用部隊
      1. 現場部隊(工場で働く部隊)
      2. 整備部隊(完成後の工場設備をメンテする部隊)
      3. システム関連部隊(いわゆるシステムインフラ部隊)

各要素舞台はそれぞれベンダーを調達し、プロジェクト体制を整えていきます。今回対象とするIT系の方がプロジェクトに入った場合、「工場建設部隊」の「システム関連部隊」になるとします。工場建設部隊は、PLの元、経営戦略で示された内容や運用部隊からのヒアリングを行い、要件定義をして、設計を進めていきます。その中で他のチームに対して要求を行い、一体となって動く工場を設計していきます。その中でお金の勘定や機器の手配スケジュールなどが絡んできますが、今回はシステムを動かすための設計に終始して述べていきます。

既設含めた全体システム構成

我々はシステム関連部隊で、現場の各機器へ制御コマンドを送信したり、製造された製品の実績を収集し、適切に管理する必要があります。そのためには、そもそも既設のシステムがどのようになっているかを知る必要があります。そのために、会社全体としてのシステムがどのような形をしているか考えます。

工場系持つ会社のシステム構成

ざっくりと、会社のシステム系統をざっくり3つに分離します。もちろん、会社によって分類は違いますので、あくまでざっくりイメージです。

  • 基幹系システム:いわゆる業務系システムと呼ばれる部分です。企業の情報システム部分であり、エンタープライズシステムなどとも呼ばれます。POSシステムや人事給与、あるいは財務会計がここに分類されます。
  • 情報系システム:社内外のコミュニケーションや事務処理の効率化を行うための部分です。所謂OA機器が繋がる領域になります。この情報系システムと基幹系システムが、社内情報システム部隊の範囲のイメージです。
  • 制御系システム:実際に工場内のNWで各種情報のやり取りを行い、現場の機器を制御する部分です。複数ベンダーが入っている場合は比較的汎用なシステムが導入されていることもありますが、特定のベンダーによる独自システムが導入され、ロックインされていることもあります。社内SEが担当していることもありますが、ベンダーに外注していることも多々あります。

基幹系と情報系はハードウェア的にも非常に密接していますし、IT系だと基幹系システムのリプレイス案件も少なくないため、馴染み深い方もいらっしゃると思います。外部NWと接続することを前提としているため、セキュリティ対策も十分に行う必要があります。

一方、制御系システムはリアルタイム制御が必要であり、ウィルス対策ソフトによるスキャンや、OSによるファイアウォールですら嫌われます。そのため制御システムはセキュリティ的に非常に脆弱となり、基幹系と限られた接点で接続されているか、あるいは完全に独立した、クローズドなシステムが構築されていることもあります。

制御系システムの詳細

基幹システム側から見ると、制御系システムの入口は何らかのサーバーですが、工場の末端はなんらかの機械設備だったりセンサーだったりします。つまり、その間を繋ぐシステムが必要です。ここで登場するのが、PLC 2やDCS 3といった制御系でよく使われるシステムになります。というわけで、制御系システムを細かく分割します。

現場の機械類、具体的にはモーターなどを駆動させるのは電気系の制御システム(PLCなど)が入ります。センサや流体制御においては、計装系の制御システム(DCSなど)が入ります。電気系制御システムや計装系制御システムはそれぞれ独立した制御画面を提供あるいは基幹システムと通信していることもありますが、より現場に近い制御系システムはリアルタイム制御が得意な一方で複雑な制御命令が必ずしも得意ではありません。そのバッファとして、制御系の統括管理システム(LinuxやWindowsといったPC。製鉄だと、プロセスコンピュータ、などと呼ぶ)。が、間に入ることもあります。ここは基幹系システムから受けた製造命令を元に適宜PLCやDCSにコマンドを送り、実績データを適宜編集して基幹系システムに結果を返します。昨今流行りの工場IoTなどマイコンを直接現場NWに接続するようなケースだと、此処の統合管理システムを担当する部隊が兼ることもあります。

我々はIT系技術者なので、このうち統合管理システムを担当するとします。

システムを動かすために必要な物

システム構成がなんとなくわかったので、これでどんな機能が必要か定義できます。機能配置が定義できたら、今度は物理的にどんなものが必要かを考えます。平たく言えば、我々が作るのはUIを提供できる(IoT機器などの付帯設備のついた)PCだと考えられるので、ハード配置・電源・ネットワーク配線が必要な要素となります。

ハード配置

定義された要件と機能配置から、

  • どんなサーバスペックが必要で
  • どこに何台のどんなモニタが必要で
  • サーバ等を保護するためにどんな容量のUPSが必要で
  • どんなIoTデバイス(カメラなど)が必要で
  • 上記を設置するのにどんな治具やラックが必要で
  • etc

ということが決まります。定めたハード構成に併せて機器を手配する他に、機器を据え付ける為に工事の手配も行います。これを怠ると、例えば工場の天井裏につけるべきカメラを、素人である自分たちでつけるハメになります。

電源

どこにどんなハードを設置するか決まると、必要な電気容量が決まります。通常の電化製品のW(ワット)ではなく、VA(ブイエー)単位で計算をし、電気系統部隊に要求をかけておきます。

電気系統部隊は電力会社から高圧電源を引き込み、それを適宜降圧しながら各設備へ電源供給します。接続されている機器の電気容量に合わせて保護協調の設計をしたりしていますので、正しい電気容量が伝えられていない場合、最悪敷地全体を停電させてしまいます。また、どこにどれだけの電力が必要かを伝えていないとそもそも電気配線の工事がなされたいため、電源が取れずに機器が動かせないということになりかねません。それを防ぐためにも、正しく必要な電源容量を伝える必要があります。また、必要であれば、システム部隊の責任で電気工事の手配をする必要があります。

電源もネットワーク配線も、中々決まらない事もあるかと思います。その場合は、おおよその値ででも伝える必要があります。というのも、例えばネットワーク配線を地中に埋めるような場合、配管を通しておいてあとからケーブルを通すなどします。おおよその配線量を伝えておくことで、あとから調整が可能となります。仮に配管に余裕がないと、追加が発生した際、敷設を最初からやり直す必要が出てきます。

ネットワーク配線

電源と同様に、ハードの位置に併せてネットワーク配線も敷設しないといけません。ネットワーク配線はEthernetケーブルやRS232Cのようなものなどがあります。それを適切に配線してもらうよう、手配する必要があります。なお、他のシステムと接続するネットワーク配線の場合、より明確に「どちらの責任でLANケーブルを引き、どこのHUBに接続するか」のレベルで責任分界点を明確にしておかないと、配線の漏れが発生しうるので注意が必要です。距離によっては光ケーブルを敷設してもらうことにもなります。

ネットワーク設計においてデータ量に合わせて途中のHUBやルーターのスペックを考えることは当然ですが、Ethernetケーブルの規格も考える必要があります。Cat6やCat6e、最近だとCat7など規格があるので、要件に合わせて適切なケーブルを敷設して貰う必要があります。また、設計によっては予備線を何本か引いておいてもよいかもしれません。

まとめ

ここまで、工場建設のスタートからハードウェア的に気にするべきところまでをまとめてきました。後編では、実際に制御系システムと通信制御しようとしたときに、何を考える必要があるかを述べていきます。

続きは、こちらです。

参考