- ベストアンサー
工業用FAパソコンにWindowsXPは使用可能ですか?
カメラ画像を表示する必要があるためパソコンの選定を行う必要があります。 疑問に思う点がありまして、カメラ映像をキャプチャするボード(PCI)がWinowsXPを指定している事です。 キャプチャボードから画像を取り込むソフト(VC++)を開発依頼しているのですが、WindowsXPはバックグラウンドでいくつもの管理タスクが動作しているため、開発アプリケーションが待たされる等して画像処理が停止する場合があると聞いています。 (1)この場合ですが、工業用FAパソコンにWindowsXPは使用可能なのでしょうか。 又、 (2)開発ソフトを停止させずに、WindowsXPを使用するためにはどのような設定が必要となるのでしょうか
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
処理の内容が見えないので・・ >カメラ画像を表示する必要があるため 表示するだけですか? 取り込んだ映像を処理するのでしょうか? 処理するならどのような? 正規相関マッチング・特徴抽出・面積 処理により・ボードによりCPU負荷が全然違います。 単に表示するだけなら、一般のTVキャプチャーボードでいいと思うけど どうやら違うような感じもするし。 優先度を上げるのも手ですが、不必要なサービスをすべて停止する事が大事です。 昔優先度を上げればあげるほど余計に占有率の問題で動作がおかしくなった事もあります。 (優先度が高すぎると他のスレッドが終了しないので頻繁に割り込みがかかる)
その他の回答 (6)
- Pesuko
- ベストアンサー率30% (2017/6702)
>検査・測定を目的にして画像を取り込む技術になります 画像検査するわけですよね >「TV映像の取り込みと同じ」と思います 通常はDirectXで描画させますが、違うんです、画像検査の場合画素ピクセルそのものに重要性があるんです。 TV取り込みは1画素単位の映像輝度を保障してません。 極端に言えばJPGとBMPの違いです。 JPG映像は画像処理検査に向きません。 だからキャプチャーレベルの映像では検査できないのです。 CCDの映像情報をそのままボードのメモリーにマッピングできない物は 検査に使えないのです。
お礼
>画像検査の場合画素ピクセルそのものに重要性があるんです それはそうなんですよね。JPGもダメですね、画像処理精度の問題があって。 ありがとうございました。
- xcrOSgS2wY
- ベストアンサー率50% (1006/1985)
画像取り込みをWinXpで使用可能にする一般的な方法は、既回答のとおり 1. 取り込みが絶対に間に合わないと困る用途の場合はWindowsを使用しない。 2. 場合によっては間に合わなくても良い場合は、なるべく取り込みが間に合うように周辺環境を整える。(ソフト・ハードの設定や、使用するハードの選択。) 3. 2.を行った上でなお取りこぼしの頻度が大きすぎる場合は、Windowsの使用を諦める。 です。
お礼
う~ん。 安心できないわけですね。 ありがとうございました。
- xcrOSgS2wY
- ベストアンサー率50% (1006/1985)
Windowsには、アプリケーションの処理実行の間隔や時刻、処理時間を確実に定める機能がありません。ですので、Windowsアプリケーションで、ある処理を「100msごとに実行する」とか「100ms以内に実行完了する」といったことを100%確実に行う方法はありません。 100%確実に行うにはWindowsを諦めてリアルタイムOSを使用する必要があります。単体のものもWindowsアドオン形式ものもあります。アドオン形式と言っても、リアルタイムOSの機能が利用できるのはリアルタイムOS上のアプリケーションだけで、Windowsアプリケーションがその恩恵を受けることはできません。(Windows/リアルタイムOS混成アプリケーションが可能なものもありますが、その場合でも、そのうちリアルタイムOS向けコードの部分のみがリアルタイムOSの機能を利用できる。既存のWindowsアプリケーションがリアルタイム対応になるわけではない。) Windowsアプリケーションとせざるを得ないのであれば、100%の確実性は諦めて、なるべく間に合うようにするにはどうしたらよいかを考えるしかありません。いろいろありますが、基本は「不定期的に長時間行われるような割り込み処理を避ける」ということになります。 たとえば 1. 省電力管理機能がある場合、その機能を停止する。(ただし、省電力管理機能による割り込み処理が長時間にはならないことが確実である場合は、その限りではない。以下の項目についても同様。) 2. HDDへの大量のアクセスが発生する場合、アクセスの発生を抑える。アクセスの発生が不可避であれば、アクセス待ち時間が発生しないように、HDDを増設してアクセス先のHDDを物理的に分ける。(例えばキャプチャにはHDD2のみを使用し、それ以外のシステム全体はHDD1を使用する等。) 3. 常にCPU時間を消費するアプリケーションが複数ある場合、そのうち遅れが発生してもよいアプリケーションの優先度を下げる。 4. 常にCPU時間を消費するアプリケーションが複数ある場合、そのうち遅れを発生させたくないアプリケーションの優先度を上げる。(ただし、他のアプリケーションよりも高くするだけに留め、システム全体で最高の優先度としてはならない。) 5. スワップ・破棄が発生しない程度にメモリ実装量を増やす。 6. プログラムI/Oを用いたデバイスの使用を止める。(通常のPCであれば、いまどきPIOを使うものはまずないのですが。) 7. PCIバスを使用するのであれば、同じPCIバス上に流すデータを極力減らす。 あたりでしょうか。
お礼
回答ありがとうございます。 >基本は「不定期的に長時間行われるような割り込み処理を避ける」ということになります。 そもそも、ここがWindowsXpでアプリ側から可能となるや否や? なんですよね~。 画像処理ボード側の基本的な仕様も見直す必要がありそうです。 画像取り込みをWinXpで使用可能にしている方法って分かりましたらお教え下さい。 尚、IBM-PCのPIOは使用しておりません。 制御用PCなのでPCIは合計3,4枚使用する事になります。 別ボード信号のノイズも心配なんです。
- Pesuko
- ベストアンサー率30% (2017/6702)
工業用FAパソコン、売ってます。 ついでに画像処理もやってます。 1)WindowsXPはXPの条件に合えば乗ります。 一部激遅の「クルーソー」等乗った物は無理でしょう。 2)基本的にWindowsは処理の優先順位を上げてもリアルタイム処理は 無理です。 どうしてもリアルタイム処理がしたいなら「RT-XP」がサードパーティーから出ていますけど。 http://www.microsoft.com/japan/windows/Embedded/community/experto/feb2003/jaokeefe.asp http://esg.teldevice.co.jp/_ardence_main.html >キャプチャボードから画像を取り込む 多分価格の安いフレームグラバーだと思いますが、どうやっても リアルタイム処理は困難を極めます。 画像処理なら取り込むボードの種類を選定することです。 トリガーはボード自身がハードで受け付ける。 画像メモリーバッファーを自身で持っている。 この2点がクリアされれば、シャタータイミングは逃さないはず。 (ただしこの仕様のボードは皆無に等しいです、あっても金額がすごい。) タイミング的にスレッドが他に割り当てられていたら画像メモリー転送後 処理時間にばらつきが出るのは否めません。 結果、PCで画像処理する場合高速リアルタイム性の高い物は向きません。 回答にならなくてごめんなさい。
お礼
>回答にならなくてごめんなさい。 いえ、有難うございます。 どうやら本腰を入れて取り掛からないとえらいことになりそうです。
補足
ここまで皆様、御回答ありがとうございます。 現在までのところ1フレーム100msあれば間に合う仕様を出してます。 使用する側には「遅い映像」になりますが、余計なバックグラウンド処理がなければ、何とかなるのかなあと思います。 「アプリ側の100ms間隔の取り込み(CPU50パ^セント)として」OSの管理タスクで取り込みを妨害する可能性はあるのでしょうか? 又、極力可能性を無くすために良い設定は「優先度を”高い”にする」と考えたとして弊害はあるのでしょうか? もしお分かりでしたら、教えて下さい。
- notnot
- ベストアンサー率47% (4900/10358)
(1) CPUおよびメモリに十分余裕のあるものを使い、ページファイルサイズを0にしても十分動作可能なメモリを搭載します。 ただ、1CPUのシステムだとCPU能力に余裕があってもソフト動作時にシステムプロセスが割り込んで処理することは避けられません。従って、ミリ秒単位以下の中断も許されないようなリアルタイム処理が必要なら無理だと思います。 マルチCPUのPCを使えば、システムプロセスが動作しても別のCPUでソフトが動作し続けられるので中断される可能性は少なくなります。 (2)プロセスごとのCPU優先度を設定することは出来ますが、目的ソフトの優先度を上げればよいかというと、その動作に必要なシステムプロセもあるわけなんで、単純に優先度をいじると却って逆効果の可能性もあります。
お礼
回答ありがとうございます やはり心配していた問題があって解決するのは難しい様に思えます。 FAメーカというか専門家に問い合わせた方が、良さそうな気がしてきました。
- xcrOSgS2wY
- ベストアンサー率50% (1006/1985)
1. その工業用FAパソコンがIBM-PCアーキテクチャであり、Windows XPが動作する要件を満たしていれば使用可能です。 Windows XP Professional : システム要件 http://www.microsoft.com/japan/windowsxp/pro/evaluation/sysreqs.mspx 2. 「この設定を行えばOK」と言えるような特定の設定はありません。何か現象が発生したら、その都度その原因を特定し、特定した原因に対応する(原因を発生させない、あるいは現象を回避するような)設定を探し出すしかありません。
お礼
回答ありがとうございます 1.の点は私は全く勉強不足なのです。 2.探すとなると試行錯誤になるのですね。 FAメーカに問い合わせた方が、良さそうな気がしてきました。
お礼
回答ありがとうございます。 >一般のTVキャプチャーボードでいいと思うけど そもそも、ここがWindowsXpでアプリ側での検査・測定を目的にして画像を取り込む技術になります。 何やらわからなくなるんです~。 でも「TV映像の取り込みと同じ」と思います。 画像処理ボード側の基本的な仕様を見直す必要がありそうです。 画像取り込みをWinXpで使用可能にしている一般的な方法って分かりましたらお教え下さい。 追記 PEN4、3Ghz、メモリ512Mb、シリアルHDD を前提に考えています。 制御用PCなのでPCIは合計3,4枚使用する事になります。 別ボード信号のノイズも心配なんです。今後もよろしくお願い致します。