HOME > ソフテックだより > 第86号(2009年3月18日発行) 現場の声編「監視制御システムソフト製作の流れ」

「ソフテックだより」では、ソフトウェア開発に関する情報や開発現場における社員の取り組みなどを定期的にお知らせしています。
さまざまなテーマを取り上げていますので、他のソフテックだよりも、ぜひご覧下さい。

ソフテックだより(発行日順)のページへ
ソフテックだより(技術分野別)のページへ
ソフテックだより(シーン別)のページへ


ソフテックだより 第86号(2009年3月18日発行)

現場の声編

「監視制御システムソフト製作の流れ」

1. 仕様検討

「ソフトウェア業」というと一般的に、「プログラミング言語を用い、机に向かって黙々と作業する」というようなイメージがあると思いますが、そればかりではありません。
私自身も、入社前はC++などのプログラミング言語ばかりを想像し、まだコーディング以外の作業についてはピンと来ていませんでした。
現在、私が主に手掛けている「工場設備の監視制御システム」を例に挙げ、作業内容や納入までの流れをご紹介します。

(1). 仕様打ち合わせ

お客様が必要としているソフトの仕様について、直接お会いしてお話を伺います。
重要なポイントは「どのような場面・場所で使われ、そのソフトを使って何をするのか?」という点ですが、打ち合わせに参加されるのは実際にソフトを使われる方でない事が多く、更に業務内容を詳しくご存じでない場合もあり、当り前のようでいて難しい事です。
打ち合わせ後には議事録を作成して、自分自身の考えを整理するとともに、お客様に確認していただいて了解を得ることも重要です。
人間である以上「言った・言わない」など記憶違いや認識間違いが発生することもありますが、議事録を確認していただくことで間違いに気づくことができます。

(2). 設計

仕様打ち合わせの内容を元に、具体的な仕様書を作成します。
わかりやすい文章を心がけることは言うまでもなく、ソフトを知らない人でも理解できるようにしなければなりません。例えば、いきなり「関数が〜」などと書いてしまっては「関数?なんだそれは。数学か?」となってしまう事でしょう。
また、文章だけでなく監視画面であればサンプルを作ったり、動作の流れを図で表したり、よりイメージしやすいようにできるよう資料を作成します。
ただ言われたとおりにするだけでなく、「自分自身が出来上がったソフトを使う」と考え、見栄えや使い勝手を決めていかなければなりません。
社内での報告やレビューを通して、「抜けが無いか」「他に良い実現方法が無いか」など検討を行い、形を整えていきます。

(3). 承認

社内で検討した仕様で良いか、お客様に確認・了解を得る必要があります。
仕様書を提示しても、お客様が多忙で確認が遅れたり、色々な部署を回って承認に時間がかかったりするようなこともあり、すぐに結果がわかるわけではありません。とにかく早め早めに動くことが必要です。
私自身、きちんとした仕様書の作成や、お客様に仕様をご理解いただかずにソフトを作成してしまい、その結果として納入後のトラブルが続出した苦い経験があります。単に設計が不十分なことで不適合が発生するだけでなく、仕様上やむを得ない動作だとしてもそれを事前に説明し了解を得ていなければ、不適合として修正が必要になる場合もあります。
明文化とそれに対する承認をいただくということは大事なことだと身に染みました。

2. ソフト作成

「監視制御システム」のソフトは、様々な要素が組み合わされています。

(1). PLCソフト作成

PLC(*1)上で動く、工場などの設備に備えられているバルブやポンプを決められた手順で動かしたり、温度や圧力などを一定に保つための制御を行うソフトです。データの演算なども行います。
主にラダー言語を使って記述し、PLCへダウンロードして実行します。

(*1)Programmable Logic Controller の略。
制御用のコンピュータで、電源・CPUを基本として、ディジタル入出力・アナログ入出力・通信(Ethernet・シリアル等)など様々な拡張ユニットを組み合わせることができる。

(2). 監視ソフト作成

FAVIEW(http://www.softech.co.jp/faview.htm)のようなSCADA(*2)ソフトや、タッチパネルを使って設備の監視やデータ収集を行えるようにします。
PLCから各種情報(機器の状態や温度等)を受け取って画面上に表示するため、色々な表示用部品を配置した画面を作ったり、一定間隔で数値を取得・保存して設備の管理を行うため、必要なデータをピックアップして登録します。
SCADAソフトでは、収集したデータをデータベース管理システム(SQL ServerやOracle等)に記録することも多く、その知識も多少必要です。

ポンプの状態表示をするため、部品に各種設定をしています。
図1 FAVIEWの監視画面作成

(*2)Supervisory Control And Data Acquisition の略。
直訳すると「制御の監視とデータの取得」で、産業用制御監視システムを指す。

(3). VB・VBAソフト作成

ラダー言語以外のプログラミング言語を全く使わないわけではなく、VB(Visual Basic)やVBA(Visual Basic for Application)を使うこともあります。
VBソフトはSCADAソフトが備えていない機能を補助・拡張する目的で使用します。

Accessで帳票を作成し、VBAを記述します。
図2 VBAのコーディング

(例)PLCソフトにて「20個セットで1種類」の設定データが100種類分必要で、SCADAソフト画面上から設定値入力を行う場合。

○単純に考えると・・・
  • 1種類分を入力できる設定画面を100枚作る。

⇒ 数も多く時間がかかり、画面作成の間違いが発生する可能性もある。
⇒ 設備の改造などで設定値が増えると、100枚すべてを変更しなければならない…。

○VBを使うと・・・
  • 1種類分を一時作業エリアに入力できる設定画面を1枚だけ作る。
  • 入力が終わったら、VBソフトにより「一時作業エリア⇒ PLCが参照する設定値エリア」へ振り分けコピーする。

⇒ 設定値が増えても、変更するのは画面1枚とVBでのコピー数を+1するだけ!

VBAは主に、データベース管理システムに保存されている帳票データ(1時間毎や決まったタイミングで蓄積される)を画面上に表示する際に用います。
データベース管理システム内のデータは基本的には数字や文字の羅列のため、AccessやExcelで伝票形式の枠を作り、データの名称や単位を付加したり、タイトルなどを付けてわかりやすく表示します。
その際、帳票データは数年分を記録することもあるため、目的の日付を指定して表示するためのウィンドウを作成することがほとんどで、その操作受付などをVBAで作成します。

パソコンショップや家電量販店で売られているようなパッケージソフトとは違い、ソフテックが開発したソフト自体が一般の人の目に触れることはあまりありませんが、飲み物など身近な物が自分のソフトによって作られていると思うとうれしくなってきます。

3. 出張

監視制御システムの場合、実際の設備での動作確認が不可欠です。

現場で動作確認を行います。
図3 出張作業

ここでの動作確認は、本当に実際の設備でなければ確認できない項目(温度や圧力などの制御パラメータ調整やポンプの回転速度等)が主になります。
ポンプ運転・停止などの状態信号の1つ1つはPLCでシミュレーションできますので、少なくともPLC−SCADA間の表示などは社内で事前に確認しますが、実際の設備でもまず初めに1つ1つ確認します。
二度手間にも見えますが、電気工事で間違って配線されていることもあるため、素早く問題解決するためにも社内で十分に確認を行い「ココは確認しているので間違い無い」と言える部分をできるだけ増やしておくことが重要です。

出張の期間は、ちょっとした改造なら1泊2日のこともあれば、大規模な設備では1ヶ月以上に渡って動作確認を行うこともあります。
長期間の出張というのは肉体的にも精神的にも大変ですが、無事に動作確認を終えたときの達成感は格別です。
現場を引き揚げる際にご挨拶したお客様から「長い間お疲れ様でした。またよろしく!」と声を掛けていただくこともあり、疲れが吹き飛ぶ思いがします。

4. トラブル対応

ソフト開発を手がける上でどうしても出てきてしまうのが、様々なトラブルです。
ソフテックではトラブルの発生を防ぐため、「定期的な社内報告の実施(特に結果ではなく途中経過を重視)」「設計書・試験項目書の社内審査・承認(ISO取得により明確化)」など様々な取り組みを行っていますが、「トラブルをゼロにする」というのはソフト開発における永遠のテーマでもあります。

トラブルの中でも特に、現場での動作確認中や、確認を終えて引き揚げてから発生することは、お客様に大変なご迷惑をお掛けしてしまうことになり時には機器の破損や怪我につながる可能性もあります。
トラブルの連絡を受けたら、発生した現象・時間帯・現場の状況の変化などできるだけ情報収集を行い、極力、実際の機器構成に近い状態でソフトを動作させ、現象の再現を試みます。

すぐに再現して原因が分かることもあれば(それはそれで確認不足だったという事になり情けない話ですが)、稀なタイミングや複合的な条件があり再現に時間がかかることもあります。時間がかかる場合は、中間報告などを行ってお客様に調査状況をお伝えしなければなりません。
(つい調査にばかり気が向いて疎かになりがちですので、私自身も反省を込めて文章を書いています…)

ソフテックでは「監視制御システム」以外にもマイコンソフトやWindowsソフトも手掛けていますので、各担当者により業務内容は多少異なりますが、いずれにしろ「単に机に向かって黙々とソフトを作るわけではない」という点は共通しています。
私自身、入社するまではPLCやSCADAを扱うことになるどころかその存在すら知らず、出張作業なども思いも寄りませんでした。工場にある大小様々な設備が自分の作ったソフトによって動く場面が見られるというのは、とても感慨深く、楽しさがあります。
将来、ソフトウェア業を目指す方がご覧になっていたら、ぜひソフテックへ入社して楽しさを存分に味わっていただきたいと思います。

(S.T.)


関連ページへのリンク

関連するソフテックだより

ページTOPへ