現在、ソフテックで手掛けているパソコンソフト開発はWindowsアプリケーションですが、1987年の創立間もない時期から、MS-DOSアプリケーションを開発してきました。これまでの経験や実績を活かして、お客様が製作されたMS-DOSアプリケーションをソフテックがWindowsアプリケーションへ更新した事例をご紹介します。
技術商社から「PC98とマイコンボードで構成されているシステムをソフテックでWindowsへ更新できますか?」という問い合わせが入りました。エンドユーザーは、電子部品メーカーの工場です。さっそく、商社の営業の方と打ち合わせを行い、ソフテックのエンジニアが調査のために現地を訪問しました。
既設システムは、約20年前にお客様が開発されたシステムで、PC98とオリジナルのマイコン装置、PLCによって、構成されていました。
図1. 既設システム構成図
システムは、工場内に数十台も設置されておりますが、スタンドアローンの状態でした。
今回、部品の検査結果をサーバーへ収集し、統計を取る必要が生じたことから、Windowsアプリケーションへリプレースを行い、社内ネットワークとの接続を実現することになったと分かりました。
図2. リプレース後のシステム構成図
社内ネットワークに接続し、検査データの送出を行うだけでなく、収集PCにもRDBMS(Microsoft SQL Server 2005 Express Edition)を搭載し、すべての検査データを格納することにしました。
そのため、検査データの標準偏差の算出やロット単位での全検査データをリアルタイムで表示することが可能となります。
ソフテックでリプレース対応を行うにあたって、既設MS-DOSアプリケーションを解析しようとしたのですが、ドキュメントが初回納入時のまま更新されていないために、現行仕様がハッキリとしません。とくに、マイコン装置は資料が不足しており、更新担当のお客様も不明点ばかりという状況です。20年前のことですから、仕方ないとは思いますが、システム開発当時のご担当者は、もう残っておられませんでした。
MS-DOSアプリケーションのソースファイルも探し出すことができなかったために、以下のような方法で外部仕様を徹底的に解析することにしました。
PC-マイコン装置間にラインモニタを接続し、RS-232Cの通信データを数日間収集することから始めました。システム稼働中に行う操作や処理をお客様からヒアリングし、通信データ内容との関連づけを行いました。
図3. ラインモニタ本体と通信データ解析画面
お客様からアプリケーションファイルのコピーをいただき、ソフテック社内のPC98で動作させてみました。設定ファイルのフォーマットが不明だったため、ファイルを編集してから、動作がどのように変化するのかを、ひとつひとつ確認しました。
上記(1)で解析したプロトコルに沿って、マイコン装置と同等の通信処理を行うシミュレータを製作しました。このシミュレータは、既存のMS-DOSアプリケーションの動作確認だけでなく、新規に開発したWindowsアプリケーションの社内試験にも活用できます。既存と同じ通信データが送受信されているか比較検証を行うことにより、社内での品質レベルを高め、お客様工場内での試運転期間を短縮することを狙いました。
上記3のように、さまざまな工夫を行いながら製作を進めていきましたが、現地での動作確認の段階では、いくつかの問題が生じました。
通信プロトコル上は問題なかったのですが、データの中身に問題があることが現地で判明しました。
既設システムは、PCとマイコン装置を同時に開発しており、タイミングの問題を意識する必要はありませんでした。今回、Windowsアプリケーションからのデータ要求頻度が高くなったことから、マイコン装置側の処理が追いつかず、不正なデータを送出することが分かりました。
タイミングを調整するために、マイコン装置とPLC両方と通信する形から、マイコン装置だけと通信するよう、システム構成を見直しました。さらに、マイコン装置からの不正なデータを無視する形に修正しました。
そのほかにも、タイミングの問題で、マイコン装置との取り合いが正常にできない場合が、いくつかありましたので、現地試運転中に対処しました。
最終段階でシステム構成の見直すことは大きなリスクのため、通常はほかの対処法を探るところですが、要求仕様を満たすために上記対策が最善だと判断し、現地での変更に応じています。
当初は、サーバーへの検査結果データ送出までをまとめて検証する予定でしたが、他社担当のサーバー側ソフトウェア変更が遅れ、ソフテックが先行することになりました。スタンドアローンの形で納入することは全く問題ないのですが、現地納入が迫っている時期まで、サーバーとのインターフェースが確定しない状況でした。後から問題が生じないように、ソフテックがサーバー側の仕様に合わせることで、乗り切ることができました。
更新後のWindowsアプリケーションは、インストーラを含めて納入しました。当初は、毎回ソフテックのエンジニアが出張して、インストールと動作確認を行う必要があると思っていましたが、お客様だけで問題なく更新を進めることができています。生産停止の時期などを見計らって更新を進めておられるようですが、1台目の更新から約2年が経過して、工場内の数十台のうち、約半数の更新が済んでいると伺っています。
また、既設システムの開発には、ソフテックもお客様担当者も携わっておらず、お互いに調査や検討が必要な状況でしたが、システム構成や運用方法などソフテック側から積極的に提案を行ったことにより、お客様担当者に大きな負担を掛けずにリプレースが進められました。
そのほかにも、トラブル対応が非常に早いという評価をいただきました。生産設備が止まるのは、お客様にとって大きな問題ですが、ソフテックではトラブルを優先して対処するようにしています。中には、オペミスによるトラブルもあるのですが、そのような場合も含めて、お客様の信頼を得ていると思います。
MS-DOSのアプリケーションに限らず、稼働から長い時間が経過して、ソフト変更やリプレースが難しいシステムは、どのお客様にもあると思います。
今回紹介した案件のように、たとえソフテックが既設システムの開発に関わっていなくても、外部仕様をヒアリングし、調査した上で、リプレースを行うことが可能です。当然ながら、更新に合わせて、機能の追加や変更にも応じることができます。
一部の更新が必要でも、システム全体を更新までは検討していないケースもあると思います。ソフテックでは、費用対効果を考慮しながら、段階的な更新を提案することも行っています。全面更新には、費用が掛かるだけでなく、更新に掛かる期間や既設システムとの整合性などのリスクも伴います。
これまでの経験を活かしながら、さまざまなメリットとデメリットをしっかりと説明し、納得いただいた上でシステム更新に対応しています。
(W.T.)
関連ページへのリンク
関連するソフテックだより