カテゴリー「Roaster Logger」の8件の記事

2007年7月17日 (火)

Roaster Loggerのデモ

こんばんは。マダム でんでん♪でございます。

今日は横浜のまめまめさんにお邪魔してRoaster Loggerを見ていただいて、使い勝手のこととかアドバイスいただいてきました。というか、Roaster Loggerのデモというのは、半分口実で(笑、実際には焙煎のことをいろいろ教えていただいてきました。

Roaster LoggerのインストールしてあるPCと2chのデータロガー(MT-306)、それにわたしが今練習に使っているコロンビア スプレモを2kg担いで、行って参りましたよ。もう荷物が巨大で重くて重くて。疲れました~。

まめまめさんのお店では、わたしが新しく買った4chの温度計(FUSO-304)の姉妹機、CE--309(304と同じ4chの温度が計れて、本体側に温度データを保存できる機能が付いている。ブランドが違いますが、多分製造元はFUSO-304と同じ。データロガー機能が付いている分、304より2万円近く高いです)を使ってらっしゃいます。

そこで、ちょっとバグっぽいFUSO-304用のRoaster Loggerがそのまま使えるかどうかも試させていただきました。結果は、OKのようです。FUSO-304用に書いたプログラムでそのまま使えるようです。ただし、やっぱりバグってるみたいで、VBAのオーバーフローエラーが出てしまいました。今回はエラーが出たので、どこら辺に問題があるかあたりをつけることができました。

そんなわけで、デモはわたしが持っていったMT-306を使って2chのデータを取らせていただきました。持参したコロンビア スプレモを1kgずつ、過熱水蒸気あり(まめまめさんのお店では、フレーバーコーヒーさんがマルヤス工業さんと共同で開発された過熱水蒸気発生装置を使って焙煎をされています)と過熱水蒸気なしで2回も焙煎データを取らせていただいてしまいました。過熱水蒸気なしの方は、普段はなさらない焙煎だったせいもあって、「納得いかない」焙煎だったようですが、焙煎中にダンパー操作のときに何を目安にされているかとか、いろいろ企業秘密に近いような話を聞かせていただいてとても勉強になりました。

Roaster Loggerの使い勝手についてもいくつかアドバイスをいただいたので、今後の開発に反映したいと思います。

今日は長い時間お邪魔して2回も焙煎していただいて、本当にありがとうございました。<まめまめさん

ブログランキング投票! ← またトップ10入りしそうです!!ありがとうございます。

| | コメント (2) | トラックバック (0)

2007年7月13日 (金)

FUSO-304対応

こんにちは。マダム でんでん♪でございます。

Roaster Loggerを新しく買った4ch温度計、FUSO-304に対応させました。以前のバージョンと同様、1秒ごと(ただしFUSO-304のサンプリングレートが各チャンネル3秒に1回なので、1秒ごとに最新データが記録されるわけではない)に温度情報を取得して「今回データ」シートにデータを記録するようになっていて、「焙煎記録表」シートの焙煎曲線にリアルタイムに4ch分のグラフが表示されます。ただ、表の方は行が増えて1画面に収まらなくなってしまうので、新しく増えた2ch分のデータは表示しないようにしてあります。

20070713_roasterlogger_4ch

見た目はほとんど変わってません。中身も温度計との通信部分を書き直しただけで、ほとんど変わってません。コードもやっつけのまま。明日、何度か焙煎してみてテストしてみます。

ブログランキング投票! ← ちょっと空回り中?

| | コメント (0) | トラックバック (0)

2007年7月 3日 (火)

Roaster Loggerの紹介

こんにちは。マダム でんでん♪でございます。

わたしが開発に取り組んでいるデータの自動記録システム、Roaster Loggerについて少し書いてみたいと思います。

仕様

  • データ仕様
  • 焙煎データは「今回データ」シートに記録される。記録項目は以下の「今回データ」シートのスクリーンショットを参照

    20070703_roasterlogger_datasheet

  • ユーザインタフェース
  • データ記録の操作は、「焙煎記録表」シートの右側に配置されたボタン類により行う。「焙煎記録表」、「焙煎曲線」には、「参考データ」シートに入力されたデータ(フォーマットは「今回データ」シートと同じ)が表示されるほか、データロガーから取得されたデータがリアルタイムで表示される。

    「焙煎記録表」シートに表示される表、グラフのデータは、「参考データ」シートおよび「今回データ」シートの該当項目への参照になっているので、各データシートを編集すると「焙煎記録表」シートの表、グラフに反映される。

    20070703_roasterlogger_viewsheet

ソフトウェア要件

  • Microsoft Windows(検証はWindows XPおよびWindows 2000 Professional)
  • Microsoft Excel(検証はExcel 2002)
  • mTimer.ocx(フリーウェア。リンク先のVectorサイト内からダウンロード可)

ハードウェア要件

  • Microsoft Windows、Microsoft Excelが軽快に動作するPC(RS232CポートまたはUSBポートの空きがあること)
  • データロガー(現在対応しているのはマザーツール社MT-306。未確認だが、FUSO-306、CENTER-306も多分中身は同じ。データロガー機能のないFUSO-301などもRS232Cケーブルを別途購入すればおそらく使用可能)
  • 接続ケーブル(データロガーとPCを接続するケーブル)

今のところ、「参考データ」シートに焙煎中に参照したい参考データを手動で貼り付けて、焙煎データの記録後はブック保存で記録されたデータを保存するというシンプルなプログラムです。焙煎のたびに参考にしたいデータが保存されているブックからデータをコピーして、新しいブックにコピーしなければならないのでちょっと手間がかかります。それでも焙煎中は、温度データの記録は自動で行われるので、1分ごとに温度を書き留める手間から開放され、ほかの重要な情報をキャッチする余裕が生まれます。

今後は以下のような機能拡張を予定しています。

  • 焙煎データの保存機能(焙煎データをテキストフォーマットで保存)
  • 焙煎データのインポート機能(テキストフォーマットで保存されたデータを参考データとしてインポートする)
  • 焙煎データの管理機能(焙煎データを豆銘柄、気温、湿度、天気などの属性で絞込み必要なデータを検索する機能)
  • カッピングデータの記録機能(焙煎ごとにカッピング結果を記録、保存できるようにする)
  • DBM連携(MySQLなどのオープンソースのDBMと連携し記録データを格納、検索、取得する機能)

3番目の焙煎データの管理機能あたりまで実装できたら、オープンソース形式のライセンスで無料公開したいと考えています。

まだバグも残っている感じなので、今の段階での配布は考えていませんが、もしデモを見てみたい方がいらっしゃいましたらこのエントリにコメントいただくか、わたし宛メール(アドレス中の%を@に直してください)をください。首都圏でしたらお邪魔してデモをさせていただきます。わたしの方は、デモに伺うことでほかの方の焙煎を見せていただけるので、勉強になるかもという下心を抱いてますので(笑、興味がある方がいらっしゃいましたらお気軽にご連絡くださいませ。

ブログランキング投票! ← クリックしないと呪われますよ(怖

| | コメント (0) | トラックバック (0)

2007年6月30日 (土)

中点の自動検出機能を追加

こんばんは。マダム でんでん♪でございます。

焙煎もぼちぼちやってますが、Roaster Loggerの改良も少しずつ進めてます。25日のバージョンでは中点は「中点」ボタンをクリックした時点のデータを取っていたのですが、中点は豆温度が一番低くなった点なので、こういうのはコンピュータに判別させたほうが正確です。それは初めから分かってたんですが、要するに判別ルーチンを書くのが面倒だったのでボタンにしてたんです。。。

今回追加したルーチンは、豆温度の最低温度と時刻を変数に保持しておいて、30秒のあいだ最低温度が更新されなかった時点で変数に保持されている温度と時刻を中点のデータとして確定し、記録するというだけの仕組み。

最初から付けとけよって感じの機能ですが、中点ボタンをクリックしなくても済むようになったのでちょっとだけ便利になりました。

ブログランキング投票! ← このボタンは面倒でもクリックしてね。

| | コメント (0) | トラックバック (0)

2007年6月25日 (月)

焙煎データ記録プログラム完成!!

こんにちは。マダム でんでん♪でございます。

やりましたっ。焙煎データ自動記録のExcelマクロがついに完成です!!

さっそく、練習用に買ってあったコロンビア スプレモを1kg焙煎して、完成したプログラムのテストです。

20070625_colombia

ちょこっとメジャーなバグが残ってる気配ですが、とりあえずデータの記録はきちんとできました。まだ改善の余地はありますが、操作性もなかなかいい感じ。

右側のボタン類で火力、ダンパー操作、ハゼのタイミングなんかを記録できるようになってます。あとは、120℃、150℃、190℃に到達した時間のが自動で記録できるとか、直前20秒、5分の温度上昇率なんかもリアルタイムに表示されるようになってます。温度上昇率を表示する機能は、火力調整の目安として結構使えるんじゃないかと思ってます。

焙煎曲線で破線で表示されているのは、今使っている焙煎機の購入を検討していたときに、製作者の方のお宅でモカ イルガチェフ1kgのテスト焙煎させていただいたときのデータです。このときのコーヒーはとてもいい出来だったので、初心に帰って製作者の方に教わったとおりの焙煎でやってみました。ちょっとだけ下方に平行移動した感じにしてますが。

20070625_colombia_roastedbean

焙煎結果の方は、まだ分かりませんが豆の見た目や直後にドリップしてみた感じでは、そんなに悪くないんじゃないかと思います。まあ、今日はどっちかというとプログラムのテストの比重が大きかったので、結果はあまり気にしてませんが。それに、プログラミングで夜更しが続いていたので、眠くて眠くて。。。。

今日はゆっくり寝ます。

ブログランキング投票! ← 完成を祝って。クリック?

| | コメント (0) | トラックバック (0)

2007年6月23日 (土)

データの自動記録 その3

こんにちは。今日もお暑うこざいますが、皆様いかがお過ごしでしょう。ちょっと寝不足のマダム でんでん♪でございます。

一昨日昨日シリーズでお届けしております「データの自動記録」についてですが、今日は進捗がはかばかしくありません。それというのも、Microsoftさまのとっても複雑怪奇な言語仕様のワナに見事はまりまして、1秒ごとにデータを取得するつもりがときどき間が飛んでしまうというバグつぶしで夜更かしてしまったせいで、アタマぼんやりだからなのでございます。まあ、わたしみたいな低スキルの(元)プログラマが言語仕様がどうのこうのと文句を書き連ねると、どこかから石の礫が飛んできそうなので、この話はこれくらいにして。。。

今日はわたしが何故にこれほどデータの自動記録のために時間を費やしているかという、そこら辺のことを少し書きたいと思います。同じようなことは過去の日記「焙煎データの記録について」でも書いたことがありますが、今回はもう少し掘り下げてみたいと思います。

わたしがデータの自動記録で目指しているのは、ざっくりと次の3点に集約されます。

  1. 焙煎の再現性
  2. トレーサビリティ
  3. データからの自由

1番から順番に簡単に説明します。データに基づいて焙煎すれば、同じ味のコーヒーが再現できるかというと疑問は残ります。ただ、過去のデータを活用することで、焙煎の再現性を高める手助けになることは間違いないでしょう。

2番目のトレーサビリティですが、これは今後の社会でますます求められるようになってくると思っています。今も牛ミンチのはずが豚ミンチだったとか、血を混ぜてたとかいろいろ問題になってますが、生産と消費が分離してしまった現代の社会では、商品の信頼性を確保するにはトレーサビリティという考え方はなくてはならないものになっていくでしょう。

特に顔の見えないネットショップでは、お客様の信頼を得るのは簡単ではありません。もちろん、お客様とのコミュニケーションを豊かにする工夫を通じて、信頼を得る努力は必要です。しかし、それだけではなく、情報の公開を通じてごまかしのない商売をしていることを示すことによって、信頼を得る努力も必要になると思うわけです。

そうした情報公開の一環として、「焙煎珈房 蝸牛の宿」では、ロットごとの焙煎のデータも公開するようなことも考えています。もっとも、焙煎データをお客様がみたいと思うかどうかには疑問がありますし、同業者との情報交換に差しさわりが出る(完全な焙煎データを公開するお店となれば、焙煎方法について他の業者さんが焙煎方法について教えてくれなくなるとか)などの営業上の理由で完全なデータを無条件に公開することができない場合もあるかもしれません。それでも、完全なデータではなくても品質管理に関わる情報を公開することには意味があると思っています。

最後に3番目。データの自動記録をすることで、データからの自由を目指すというのはとても矛盾しているように聞こえるかもしれませんが、実はこの3番目がわたしがもっとも重視しているポイントなのです。何か焙煎に問題が起きたときに、何を手がかりに原因を考えるかと言えば、やっぱりデータなのです。特にこれから焙煎をマスターしなければならないわたしにとっては、客観的なデータに基づいて焙煎結果を振り返るという作業をしていかないと上達はおぼつかないと思うのです。

で、なぜ、データの自動記録がデータからの自由に繋がるかなんですが、まず第1に温度、火力、排気操作などの定量的なデータを自動で記録できるようになれば、温度計とにらめっこして温度を記録したりする手間から自由になるわけです。次に、定量データの記録を自動化することで、定量データの記録に使っていた労力、注意力を豆の状態の変化をしっかり観察することに振り向け、観察の所見と記録データを結びつけることで、焙煎について論理的に考えることができるようになるんじゃないかってことです。

わたしが師匠と仰ぐ、フレーバーコーヒーさんも焙煎のコンピュータ制御に取り組まれたことがあるそうです(わたしの場合は制御まではいかなくてデータの自動記録だけですが)。リンク先には「今では、その方法(焙煎のコンピュータ制御)が間違っていたと思」(カッコ内は引用者注)うと書かれていますが、当時(写真を見る限りWindowsとかが出る前の時代ですよね)のコンピュータでは何から何まで1から作らなければならなかったんでしょうから、「コンピューター制御をやっていなかったら、もう少しコーヒーを深く研究できていた」とおっしゃっている通り、労力が成果を上回っていたってことが大きいと思います。

今のPCはその点ではめちゃくちゃお手軽です。インタフェースも規格化されて、シリアル通信のためのライブラリなんかもネットから簡単にダウンロードできるし、Excelを使えばグラフィカルなアプリケーションだって単純なものならほんの2、3日のプログラミングで完成してしまいます。Microsoftの言語仕様がどうのと小言書いたりしましたが、Excelはこの手のアプリを開発するプラットフォームとしてはとっても優秀です。Microsoftさまさまですよ。

そうそう。自動記録のアプリ、完成して自分で使ってある程度安定してきたら、オープンソースライセンスで配布しようかと思ってます。といっても、モノがモノだけにどれだけ使ってくれる人いるかわかりませんが。もし、万が一、そういうの欲しいなと思ってる方いらっしゃいましたら、ご期待ください(期待はずれだったらゴメン)。

ブログランキング投票! ← ちょっと順位不振ですよー。

| | コメント (2) | トラックバック (0)

データの自動記録 その2

こんばんは。マダム でんでん♪でございます。

昨日から始めた焙煎データを自動記録するためのプログラムですが、どうにかそれっぽい形になってきました。

20070623_autorecord_s

とりあえず、シートの右のほうにある「投入」ボタンをクリックすると温度データの記録を始めて、「煎り止め」ボタンをクリックすると記録を終了します。で、記録されたデータはリアルタイムで左上の表と左下のグラフに表示されます。ついでに、過去のデータを「参考データ」シートに貼り付けておけば、参考データとの差をリアルタイムで確認しながら焙煎できます。

あとは、中点、1ハゼ、2ハゼ、火力操作、ダンパー操作のボタンをクリックしたときのイベントを書けば、とりあえず完成。エラー処理とかめっちゃ適当なので、人に使ってもらえる状態じゃないですけど、来週からはこのプログラムを使って焙煎できそうです。

将来的にはデータをデータベースに保存して、条件検索で参考になりそうなデータを探して利用できるようなシステムにしたいんですが。そこまでやるのは結構大変そう。。。

ブログランキング投票! ← キャンドルナイトだったけど、忘れてました。はははは。。。

| | コメント (0) | トラックバック (0)

2007年6月21日 (木)

データの自動記録 その1

こんばんは。マダム でんでん♪でございます。

以前、「焙煎機の改造(改良)」で少し触れた焙煎データの自動記録システムの開発をやっとはじめました。プログラミングは久しぶりなので、ちょっとカンが鈍ってます。というか、もともと鈍るようなカンなどなかったわけですが。。。(笑

とりあえずは、データロガーとPCをRC-232で接続して、PCからデータロガーにコマンドを送って定期的に温度データを取得し、エクセルのシートにデータを書き込み、リアルタイムで表、グラフに表示するような簡単なものを作ろうと思ってます。

今使っているデータロガーは、マザーツールという会社のMT-306という2chのデジタル温度ロガーで、10個くらいのコマンドですべての機能を制御できるインタフェースになってます。このうち、Aコマンド(RS-232経由でASC 41Hを送る)で現在の温度情報をエンコードされた形で取得できるようになってます。

で、Excel VBAからCOMポート通信ができるモジュールをネットで探してたら、ちょうどよさそうなEasyCommっていうのを見つけました。リンク先からダウンロードしたアーカイブに含まれるec.basとecDef.basをExcelのブックにインポートすると、VBAからCOMポートと通信するためのメソッド、プロパティが利用できるようになります。

こういうプログラム書いた経験があまりない上に、MT-306のマニュアルの記述があまりに素っ気ないので、ずいぶん悩んだ末、とりあえず、MT-306から現在の温度情報を取得するコード断片を書いてみました。

Sub Main()

Dim recBinData() As Byte

ec.COMn = 2
ec.Setting = "9600,n,8,1"
ec.Delimiter = ec.DELIMs.LF
ec.BinaryBytes = 10          '取得バイト数を10に設定

ec.AsciiLine = "A"
Do While ec.InBuffer < 10   '10バイト受信するまで待機
    DoEvents
Loop
recBinData() = ec.Binary    'エンコードデータの読み込み

' T1の各桁をデコード
t1dig4 = recBinData(3) \ 16
If t1dig4 = 11 Then t1dig4 = 0
t1dig3 = recBinData(3) Mod 16
t1dig2 = recBinData(4) \ 16
t1dig1 = recBinData(4) Mod 16

' T2の各桁をデコード
t2dig4 = recBinData(7) \ 16
If t2dig4 = 11 Then t2dig4 = 0
t2dig3 = recBinData(7) Mod 16
t2dig2 = recBinData(8) \ 16
t2dig1 = recBinData(8) Mod 16

' 小数点の有無を判別しT1、T2を数値(ヴァリアント型)に変換
t1 = t1dig4 * 100 + t1dig3 * 10 + t1dig2 + t1dig1 * 0.1
If recBinData(2) And 4 Then
    t1 = t1dig4 * 1000 + t1dig3 * 100 + t1dig2 * 10 + t1dig1
End If

t2 = t2dig4 * 100 + t2dig3 * 10 + t2dig2 + t2dig1 * 0.1
If recBinData(2) And 32 Then
    t2 = t2dig4 * 1000 + t2dig3 * 100 + t2dig2 * 10 + t2dig1
End If

MsgBox ("T1: " & t1 & "/T2: " & t2)

End Sub

VBAエディタのイミディエイトウィンドウからmainプロシージャを実行すると、メッセージボックスに現在の温度(T1、T2)が表示されるだけの単純なコードです。後は、タイマーで定期的にこのコードを呼び出して、Excelのワークシートに時系列順にデータを書き込んでいけば、Excelのグラフ描画機能を使ってリアルタイムに温度データを表示できるかなと。で、過去30秒、1分、5分etc.の温度上昇率とか、火力、排気操作や1ハゼ、2ハゼの時間、温度なんかも自動で記録できるようにしたいなあと。

「T1の各桁をデコード」、「T2の各桁をデコード」ってコメントのあるあたりのコードは、BCDエンコードされている温度データをデコードしてるんですが、なんかどう考えてもだっさいコードです。もっとすぱっとキレイに書けるに違いないんですが。。。だれか教えてください~♪

VBAニガテなので、ちょっと苦労しそうですが。。。明日、明後日くらいで動くようになったらいいなあ。。。

ブログランキング投票! ← わけわかめでも、クリックは欠かさずに。。。

| | コメント (0) | トラックバック (0)