PLCの開発 その01 内容と要求

4月から一つソフトを作成することで勉強をして行こうと思います。
ソフト開発のプロジェクト名は「PLC(PLC Leads Communication)」です。
内容はPLC(Programmable Logic Controller)を用いたインスタントメッセンジャー(IM)の開発です。


IMは会社では使用が禁止されているのですが、有れば作業効率が上がるのにと常々思っていました。
日常、細かな確認事が多々発生しますが、これを訊く為に席を立つ事で自分の作業が途切れ、相手に聞く時間が有るかと訊ねるだけでも相手の作業を中断させてしまいます。IMならば、自分はメッセージを書いて送信するだけで良く、相手も時間が無ければ無視できます。双方、メッセージがあることを画面上から意識を離さずに認識することができます。また、IMはメッセージが残るということも利点の1つです。結論が残り、これに至った経緯も後から確認することができるからです。メールでもメッセージを残したり、返答の時期を遅らせることができますが、文章が短いメールやりとりすること、これによって大量に発生したメールを管理すること、メールをリアルタイムに受信することによって、コストが高くなってしまいます。
そこで、手軽にメッセージをやりとりできる、不必要なときには非同期な、必要なときは同期したコミュニケーションをとることのできるIMが欲しいと考えました。


さて、作成すするIMですが、ただのIMでは面白くないので、メッセージを中継する装置としてPLCを用いることにしました。

PLCについては下記にWikipeから引用しましたが、装置などのデータを収集したり、ラダーと呼ばれるプログラムを搭載することによって入力値に対して色々な動作を出力することができる機械です。

プログラマブルロジックコントローラprogrammable logic controller、PLC)は、リレー回路の代替装置として開発された制御装置である。プログラマブルコントローラとも。 工場の機械の制御などに使われるほか、エレベータや自動ドア、テーマパークの各種アトラクションなど身近な機械にもごく普通に使われている。
プログラマブルロジックコントローラ - Wikipedia

PLCには、装置等から得たデータを書き込むメモリがあります。メッセージの発信者はこのメモリに発言したメッセージを書込み、受信者は書込まれたメッセージを読むことによって、メッセージのやり取りを実現することにしました。また、あるアドレスの値(メッセージ)が変更されたというイベントを受け取るために、今回はライブラリを用います。このライブラリは社内で開発されたものなので、詳細は省きます。



さて、
欲しい機能として挙げられたものを列挙しました。

  • メッセージをTextやXMLに保存できるようにしたい。
  • 設定をXMLから読み込みたい。
  • 名前を設定したい。
  • 絵文字を表示したい。
  • 会話途中参加した場合、この会話の履歴を受信したい。
  • タスクトレイに常駐できるようにしたい。
  • メッセージを受信したことをポップアップで告げて欲しい。
  • 個人に、グループに、全員にと、メッセージの送信先を限定できるようにしたい。
  • アドオン,プラグインで機能を拡張できるようにしたい。

増減はあると思いますが、IMとして不自由がないものにしてきます。


今回は、PLCプロジェクトの内容と要求を書きました。

次回からは、UMLを書いていきます。
まずは、ユースケース図を作成し、今回挙げられた要求を実現するシステムの分析を行います。
暫くコードを弄ることはないと思いますが、開発環境も決めました。Visual Studio 2008 Express Editionを使用し、言語はC#3.5を用います。GUIの記述にはWPFを用いることにします。LINQも使用していくことにしました。

それでは。