tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルエクセルの起動
記事No890
投稿日: 2004/06/07(Mon) 12:10
投稿者のんちゃん
測定装置のデータのロギング(取り込み)を、COMポートを使いエクセルのVBAを用いて行なって
います。 この場合PCへの負荷大きいのか、グラフ化したり、マウスを動かしたりするとVBAが止
まり、ロギングができないことがあります。
そこでですが、VBでエクセルを起動し、データをロギングすると少しでも、PCの負荷が減るもの

しょうか?

[ツリー表示へ]
タイトルRe: エクセルの起動
記事No902
投稿日: 2004/06/10(Thu) 00:19
投稿者たくボン
> 測定装置のデータのロギング(取り込み)を、COMポートを使いエクセルのVBAを用いて行な


> います。 この場合PCへの負荷大きいのか、グラフ化したり、マウスを動かしたりするとVBA
が止
> まり、ロギングができないことがあります。
> そこでですが、VBでエクセルを起動し、データをロギングすると少しでも、PCの負荷が減るも

> で
> しょうか?

誰もレスつけてないみたいなのでレスします。

基本的に、VBからExcelをリモート起動した場合でも負荷が大幅に減るものではないと思います。
今回のようなケースでは、まずエラーの特定が重要です。どのタイミングでエラーになるのか、その特
定ができれば問題の解決方法が見えてくると思います。

さて、COMポートからのデータロギングは、同期処理ですか?非同期処理でしょうか?
測定装置などのハードウェアからのIOは、構造自体はシンプルだと思うので別スレッドでIO部のみ作成
されてみたらどうでしょうか。それとは別に表生成、グラフ作成を異なるスレッドで処理する。
という方法もあると思います。

プロセス間の通信方法は、COMを使うなりActiveXで作るなり(OSが古いのならDDE、パイプでもw)実行
環境にもよると思うので、環境にあった通信を選べば良いと思います。

[ツリー表示へ]