HOME > ソフテックだより > 第63号(2008年4月2日発行) 現場の声編「入社1年を迎えて〜初めてのマイコンソフトウェア開発〜」

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

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


ソフテックだより 第63号(2008年4月2日発行)
現場の声編

「入社1年を迎えて〜初めてのマイコンソフトウェア開発〜」

1. はじめに

私は、間もなく入社から1年を迎える中国上海出身の社員です。
今回は、去年の8月から11月にかけて担当したマイコンソフトウェア開発のことについてお話したいと思います。入社してから初めてマイコンソフトウェア開発の作業を担当させていただきました。失敗や苦労したことも多々ありましたが、学んだことも多く、良い経験になりました。

2. 開発案件の概要

今回開発したマイコンソフトウェアは、中国向けの監視制御システムの機能更新となっています。この監視制御システムは、監視要因を検出した後、接続する多数の入出力装置を自動的に制御するものです。実際の開発作業で、複数の入力装置を接続する代わりにパソコンのシミュレータから模擬信号を入力します。制御を行うマイコンシステムはその入力信号を受け取って、出力データをLCDに表示させたり、LEDランプを点滅させたり、スピーカから音声を出させたりして、入出力装置の作動状況を監視制御するという仕組みです。今回の開発は、既存のシステムに新しい入力方式を追加して機能を拡張することになっています。

3. 作業の流れ

今回の開発作業は図1に示したように進めていました。

開発作業の流れはご覧のようになります
図1. 開発作業の流れ

学習を兼ねて先輩社員と一緒に開発作業の一から経験しました。納期はあまり余裕のない状況で、初めての内部設計は予定の2倍時間がかかってしまいました。設計することの難しさを実感できたとともに、次のコーディング段階は内部設計の結果によるものなので、内部設計が固まらない限り、コーディングに入っても必ず失敗することがよく分かりました。作業の後半は社内で実際の監視制御システムの開発環境でテスト作業をメインに対応しました。

今回は中国市場向けの開発なので、開発作業に使用する表示や音声は母国語の中国語になっていて、とても親しみを感じました。仕事でこのように生活の身近に存在するシステムの開発作業に携えることは、誇りに感じます。

4. マイコンソフトウェア開発の特徴

実際にCPU、LCD、LED、スイッチ、プリンタ等のハードウェアを扱いながら開発作業を行うことは、WindowsアプリケーションやPLCプログラムの開発とは異なって、マイコンソフトウェア開発の特徴だと思います。

入社するまではソフトウェア開発は一日中パソコンと向き合っているというイメージがありましたが、マイコンソフトウェア開発でこのイメージが変わりました。キー入力でLCDの画面を展開させ、パソコンのシミュレータ操作でLEDを点灯させます。また、システムテストのとき、配線を繋いで装置の一部を短絡させることもありました。組み込んだソフトウェアは実際の操作によって確かめることが可能になります。
プログラムのこの部分を変えれば、表示はこのように変わるのだ、その部分を変えれば、違ったLEDが点滅するのだ、今画面が真っ暗になったのはプログラムのどこに問題があるのかなどなど、実際の操作で確認しながら覚えたことも多いので、楽しいです。

しかし、ここで気をつけなければならないのは手順を守ることはとても重要だということです。作業をする前に必ず手順を確認し、正しい操作手順に従って作業を行う心構えは大切です。不注意であっという間に数十万円の機材を破損させることが起こりうるからです。また、仕様の手順に従ってプログラムを組み込むことも注意しなければなりません。開発したシステムは実際の現場で他の機材を制御するもので、ほんの少しのミスでも大きな被害をもたらす可能性があるからです。
まだまだ未熟で学ぶことは多いですが、経験を積めば積むほどより多くのことを知ることができることはこの仕事でのやりがいと感じています。

5. 作業で感じたこと

今回の開発作業で初めてC言語を使って開発を行いました。プログラミングの能力はまだ不十分な私が、最初の頃は、既存プログラムを理解するのも、仕様に応じて内部設計をするのもとても無理で、不安な気持ちでいっぱいでした。それに気付いた先輩社員はすぐに対応策を考えてくださいました。

まずマイコンキット(H8/38347)を使って、シンプルな課題解決から着手させていただきました。また、私の素朴な質問に対して、単なる問題の答えではなく、解釈のヒントや考え方を教えていただきました。次第に分からないところに対して、問題は何か、何を理解すれば問題が解決できるのかを考えられるようになりました。
そして、問題を解決してから、仕様書を調べたり、マニュアルを読んだりしてさらに理解を深めるというステップアップの道にも繋がって、だんだん私も作業を完成させる自信をつけるようになりました。無事に担当作業を終えた今は簡単なものなら一人でも対応方法を考えられるようになり、成長できたと実感しています。

また、今回の作業では、長期にわたるシステムの運用を考慮し、ソースコードとは別に変更管理番号というExcelファイルでソースファイルの更新履歴を管理しています。それに基づいて10年前の修正記録も簡単に調べることができるので、大変便利で有効なソース管理手段だと感じました。こういった便利な管理方法を学んで、今後の開発にも活かしたいと思います。

6. 最後に

ソフテックに入社してからもうすぐ1年が経とうとしています。実際の開発経験はまだ少ないですが、先輩社員の指導のもとに担当作業を無事に終えることができました。失敗からの反省や苦労して学んだことを今後の開発作業に活かして、はやくマイコンソフトウェア開発の戦力になるよう努力していきたいと思います。

(T.S.)


関連ページへのリンク

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

ページTOPへ