« 2010年5月 | トップページ | 2010年7月 »

2010年6月の32件の記事

2010年6月30日

「MOS Bench」は旧来の本格的なリアルタイムOSではありません。新しいRTOSの概念、MOS=MachineOSです。

みんなで手軽にWindowsリアルタイムIO制御環境「MOS Bench」は、旧来の本格的なリアルタイムOSではありません。

リアルタイムOSをしっかり勉強したい人には、不向きです。

その代わり、

マニュアルは、簡単。

操作もシンプル。

製品が届いた日から、WindowsリアルタイムでIO制御をしたい人には、最適です。

パソコンのCPU能力、メモリ容量が潤沢にあるので、

そのメリットを活かして、

プログラミング初心者でも簡単にマルチタスクのWindowsリアルタイムIO制御ができるようになっています。

プログラミング初心者がリアルタイムIO制御プログラムを書いてもWindowsがフリーズしないように保護されています。

MOS Bench」は、

CPU能力、メモリ容量が有り余っている環境で生まれました。

100MHz程度のマイコンとは異なる

リアルタイムOSの新しいコンセプト「MOS=MachineOS」を

提案しています。

■できないことの概要(小難しい内容ですが、気にしている読者のために)

・タスクの優先度設定(代わりに、ラウンドロビンで順繰りに時分割でCPU資源をシェア。CPU能力は十分あるので、気にしないでください)

・メモリの動的な制御(静的に確保します。メモリはいっぱいあるので、気にしないでください。)

・メッセージ通信(代わりに、プロセス間共有変数で同期制御)

・割り込み処理(代わりに、Sleep命令による定時間遅延、あるいは、リアルタイムタイマーポーリング監視による経過時間制御)

・任意のデバイスのリアルタイム制御(代わりに、リアルタイム制御可能なIOデバイス:PCIカードが決まっています。対象カードを有効=1とするだけで、リアルタイム制御が可能になります)

・Intel CPUで直接リアルタイム実行されるバイナリーコードの生成(代わりに、Intel CPUで動作するリアルタイムインタープリタ:高速翻訳機で翻訳されるコードを生成します。ちょっと遅いが、デバッグはとても簡単)

・C言語のポインタ

■おまけ

有り余るものを贅沢に使っていく。

これは、逆らえない大きなトレンドです。

■おまけのおまけ

「モーションおやじ」は、20年以上前、アセンブラで16MHz16bitマイコン、16KByte-ROM、512Byte-RAMのソフトサーボを開発、製品化しました。処理時間、メモリを節約することに汲々としていました。

Link: 「高性能制御を簡単に、みんなに!」  

プライムモーション社(みんなで手軽にWindowsリアルタイムIO制御)

プライムモーション(Windowsで手軽にリアルタイムIO制御)

プライムモーション社(RTEXとパルスの16軸マルチタスクコントローラ)

プライムモーション(RTEXとパルス列のマルチプロセスコントローラ)

| | コメント (0)

2010年6月29日

パナソニック電工のコントローラ「FP0R」。超小型で4軸パルス50kpps出力。

パナソニック電工のコントローラ「FP0R」。超小型で4軸パルス50kpps出力。

今日は、他社の宣伝。

営業に行ったら、「FP0R」を使いたいというお客様がいた。

超小型で、4軸パルス50kpps出力。

値段も安い。

「モーションおやじ」は、とてもかないません。

モータ9軸以上のシステムだったら、アイディア出せるのですが。

Link: 「高性能制御を簡単に、みんなに!」  

プライムモーション社(みんなで手軽にWindowsリアルタイムIO制御)

プライムモーション(Windowsで手軽にリアルタイムIO制御)

プライムモーション社(RTEXとパルスの16軸マルチタスクコントローラ)

プライムモーション(RTEXとパルス列のマルチプロセスコントローラ)

| | コメント (0)

2010年6月28日

16bitAD32chと128点INをWindowsに邪魔されずに監視したい。

「16bitAD32chと128点INをWindowsに邪魔されずに監視したい」

というお客様がいて、

手軽にWindowsリアルタイムIO制御環境「MOS Bench」を

16bitAD、32ch対応にしようと開発している。

現状は、16bitADの16ch対応。これを2倍に拡張中。

例によって、CONTECさんからADカードを2枚お借りした。

CONTECさん、いつもありがとうございます。

Ad32ch_128in_

CPUは、Celeron550。動作周波数2GHz。

カードの配置は、CPUカードの左隣りから

・CONTEC社 128点IN

・空き

・空き

・CONTEC社 16bitAD-16ch 1枚目

・空き

・プライムモーション社 8軸モーション

・CONTEC社 16bitAD-16ch  2枚目

IRQ割込み要求は、

Ad32ch_device_irq_ok

(PCI)18をRTXドライバ(実態はプライムモーション社のカード)が独占。

デバイスは、

Ad32ch_device

いくつか、無効にしている。

このとき、AD32chがリアルタイム管理下になっている。

つまり、AD32chのデータをリアルタイムインタープリタのReadAi();関数でリアルタイムにリードできる。

しかし、1msロギングソフトのMOTIWARE Manager(モーティウェアマネジャ)では、8chまでです。このブログを読みながら、期待してしまった方、ごめんなさい。

32ch

ところで、

CONTEC社の本カードの16bitADの変換時間は、チャネルあたり1usである。

リアルタイムで、1ms毎、1チャネルあたり7回サンプリングして、最大値と最小値を捨て、残り5個の平均値をユーザに見せている。

(結構、まじめだなぁ!)

これを32chやるので、割り込み処理時間がかかる。

以下の評価データでは、AD32chの処理と8軸モーションで、1ms割り込み処理が

平均494.9us、最大524.1usかかっている。

Celeron2ghz_ad32ch_100628

ADカードが2枚(合計32ch)のときは、AD変換時間で、1ms割り込み処理時間が長くなるので、制御軸数を減らしてほしい。

Link: 「高性能制御を簡単に、みんなに!」  

プライムモーション社(みんなで手軽にWindowsリアルタイムIO制御)

プライムモーション(Windowsで手軽にリアルタイムIO制御)

プライムモーション社(RTEXとパルスの16軸マルチタスクコントローラ)

プライムモーション(RTEXとパルス列のマルチプロセスコントローラ)

| | コメント (0)

2010年6月27日

Celeron550のWindowsリアルタイム性評価

Celeron550のWindowsリアルタイム性評価。

動作周波数は、2GHz。キャッシュは1MB。

例によって、長野県伊那市に事業所があるロジテックさんのご協力。

いつもありがとうございます。

Celeron2ghz_3 

先日、Intel Atom D510のリアルタイム処理に大きなジッタがあると報告したが、その代わりにCeleron550を引っ張り出してきた次第。

シングルコアなので、処理時間は、どうかな?

と思っているが、 リアルタイム処理で評価が高かったPentium Mの流れをくんでいるので、少し期待して評価を開始。

例によって、PCIカードを7枚差して、IRQの独占確認。

CPUカードの隣から

・CONTEC社 128点IN

・CONTEC社 128点OUT

・CONTEC社 12bitDA-8ch

・CONTEC社 16bitAD-16ch

・プライムモーション社 8軸モーション JOY-RT8S

・プライムモーション社 8軸モーション JOY-RT8CR

・CONTEC社 COM-2ch

これで、

16軸、128点IN、128点OUT、DA8ch、AD16ch、COM2chのWindowsリアルタイム機械装置コントローラ。

さて、IRQの状態は、

Irq_ok

IRQ18をRTXドライバを割りつけたJOY-RT8CRモーションカードが独占できた。

ただし、以下のようにUSBのHost Controllerを一部無効にしている。

Device_irq_ok

といっても、PCIブラケット面のUSBポート3本は、使用可能である。

(CPUカード上1本、その右側スロット2本)

Mbpchaimen

次に、

ディスプレイアダプタを無効にして、リアルタイムの1ms割り込み処理時間を評価した。

クリックで拡大。

7_rti_2

1ms周期を107510190回評価。

約30時間評価。

■リアルタイム性評価結果

○1ms割り込み処理時間

・平均値327.5us、最大値358.4us。ジッタ9.4%。

Intel Atom D510では、

・平均値317.3us、最大値751.8us。ジッタ237%。

だった。

平均値はほぼ同じ。ジッタは1/25。

ぜんぜん違う!!

○1m割り込み周期

・最大値1013.9us、最小値988.0us。ジッタ-12%から+13.9%。

これも、よい。

Celeron550のリアルタイム処理は、非常に安定している。

Intel Atom D510に比べると、Windowsの処理は遅い。100ms毎画面更新をかけるアプリケーションを起動すると、CPU使用率が100%近くになる。

2GHzのCPU、512MBメモリで、

16軸、128点IN、128点OUT、DA8ch、AD16ch、COM2ch

をリアルタイムに制御できて、

かつ、Windowsアプリも使えるなら、悪くは無いでしょ!

Mbpc_ue

Link: 「高性能制御を簡単に、みんなに!」  

プライムモーション社(みんなで手軽にWindowsリアルタイムIO制御)

プライムモーション(Windowsで手軽にリアルタイムIO制御)

プライムモーション社(RTEXとパルスの16軸マルチタスクコントローラ)

プライムモーション(RTEXとパルス列のマルチプロセスコントローラ)

| | コメント (0)

2010年6月26日

MOS言語リファレンス改訂しています。

MOS言語リファレンス改訂しています。

2003年3月が初版。

当時、お客様から

「Visual Basic 6.0では、マルチプロセスやタイマー制御が難しいので、スクリプト言語で記述できるマルチプロセスコントローラを作ってほしい」

と言われたのが、始まり。

それから

・232C通信制御

・文字列処理

・プロセス制御

・プロセス間同期制御

・DA出力、AD入力

・ファイル操作(スタンドアローンコントローラのみ対応)

・アブソリュート多回転データクリア(スタンドアローンコントローラのみ対応)

・サーボアンプパラメータ処理(スタンドアローンコントローラのみ対応)

・MCプロトコルによるDレジスタ更新処理(スタンドアローンコントローラのみ対応)

・TCP/IP通信制御(スタンドアローンコントローラのみ対応)

と、どんどん追加してきました。

そして、今年、「MOS言語」が使えるプラットフォームは、大幅に拡張されて

●Windowsリアルタイムのフル仕様「MOS Bench」

●Windowsリアルタイムの入門版「MOS Bench EY」

●RTEX対応スタンドアローンコントローラ「InterMotion」、開発環境は「MOS Bench AM」

の3つになりました。

今回の改定で179関数になり、このうち、移動制御関数は74個あります。

リファレンスは、240ページくらいになります。

おおごと!

やっと、MachineOSたる「MOS」を名のれるようになってきたかな?

いままでは、システム関数を追加順に説明してきましたが、

今回、グループ分けして、順番をわかりやすくします。

Link: 「高性能制御を簡単に、みんなに!」  

プライムモーション社(みんなで手軽にWindowsリアルタイムIO制御)

プライムモーション(Windowsで手軽にリアルタイムIO制御)

プライムモーション社(RTEXとパルスの16軸マルチタスクコントローラ)

プライムモーション(RTEXとパルス列のマルチプロセスコントローラ)

| | コメント (0)

2010年6月25日

ADVANTECH社PCI-7031Intel Atom D510とIntervalZero社RTX2009SP2とMOS Benchによるリアルタイム性評価

ADVANTECH社PCI-7031Intel Atom D510

IntervalZero社RTX2009SP2

プライムモーション社の手軽にWindowsリアルタイムIO制御環境「MOS Bench(モスベンチ)」

によるリアルタイム性評価。

パソコンの外観写真。PCI拡張スロットが7スロットある。

Irq_ok_haichi

Irq_ok_naibu_2

構成は、以下。

・CPUカード: ADVANTECH社PCI-7031

・CPU: Intel Atom D510 1.66GHz

CPUカードの隣から順番に、

・CONTEC社128点OUT

・CONTEC社12bitDA-8ch

・プライムモーション社8軸モーション: JOY-RT8S

・CONTEC社COM-2ch

・プライムモーション社8軸モーション: JOY-RT8CR

・CONTEC社128点IN

・CONTEC社16bitAD-16ch

以上で、16軸、128点IN、128点OUT、16chAD、8chDA、2chCOMの機械装置コントローラ。

そのリアルタイム性評価結果。

RTX 1ms割込み処理
平均値[us]
1ms割込み処理
最大値[us]
倍率
2009SP2 368.2 574.5 1.56
6.5.1 317.3 751.8 2.36

■参考データ1

RTX2009SP2使用時の割り込み処理時間評価

1ms周期を91704191回=25時間連続評価。

Rtx2009_sp2_intel_atom_d510_10062_2 

■参考データ2

RTX6.5.1使用時の割り込み処理時間評価

1ms周期を129043920回評価=36時間評価

750us

このCPUボードは、手軽にWindowリアルタイムIO制御環境「MOS Bench(モスベンチ)」のリアルタイム処理ジッタが大きいです。

RTX2009SP2は、このCPUボードと「MOS Bench(モスベンチ)」に対して、リアルタイム処理ジッタを軽減しました。しかし、平均処理時間は、16%延びました。

上記のデータは、限られた条件での結果です。一般性はありません。

感想

Intel Atom D510は、2Core、4ThreadでWindwosの画面更新処理は速いですが、きちんとしたリアルタイム処理は、苦手のようです。

Link: 「高性能制御を簡単に、みんなに!」  

プライムモーション社(みんなで手軽にWindowsリアルタイムIO制御)

プライムモーション(Windowsで手軽にリアルタイムIO制御)

プライムモーション社(RTEXとパルスの16軸マルチタスクコントローラ)

プライムモーション(RTEXとパルス列のマルチプロセスコントローラ)

| | コメント (0)

2010年6月24日

IntervalZero RTX 2009 SP2 Evaluation でリアルタイム性評価

IntervalZero社のRTX 2009 SP2 Evaluation 版をダウンロードした。

IntervalZero社さん、いつもありがとうございます。

Intel Atom D510のCPUボードのリアルタイム処理ジッタが少し大きいので、

最新版のRTXならば、ジッタが改善できるのでは?

と期待してのこと。

対象のパソコンにインストールして、連続運転している。

結果は、明日、報告します。

Link: 「高性能制御を簡単に、みんなに!」  

プライムモーション社(みんなで手軽にWindowsリアルタイムIO制御)

プライムモーション(Windowsで手軽にリアルタイムIO制御)

プライムモーション社(RTEXとパルスの16軸マルチタスクコントローラ)

プライムモーション(RTEXとパルス列のマルチプロセスコントローラ)

| | コメント (0)

2010年6月23日

普及価格のWindowsリアルタイムIO制御環境「MOS Bench EY」が日刊工業新聞に掲載されました。

普及価格のWindowsリアルタイム制御環境「MOS Bench EY」が日刊工業新聞に掲載されました。

記者の方がわざわざ来社され、取材を受けました。

ありがとうございました。

今年になって、新聞掲載は、3回め。

第三者から見て、WindowsリアルタイムIO制御環境には、話題性、お役立ち度、があるようです。

Link: 「高性能制御を簡単に、みんなに!」  

プライムモーション社(みんなで手軽にWindowsリアルタイムIO制御)

プライムモーション(Windowsで手軽にリアルタイムIO制御)

プライムモーション社(RTEXとパルスの16軸マルチタスクコントローラ)

プライムモーション(RTEXとパルス列のマルチプロセスコントローラ)

| | コメント (0)

2010年6月22日

直流2線式センサの特性値

お客様から要望があって、直流2線式センサの特性値を各社のデータシートから調べてみた。

漏れ電流

・オムロン E2Eシリーズ 0.8mA以下

・キーエンス EVシリーズ 1.0mA以下

・山武 FL2R/Sシリーズ 1mA以下

残留電圧

・オムロン E2Eシリーズ 3V以下

・キーエンス EVシリーズ 3.6V以下

・山武 FL2R/Sシリーズ 3.3V以下

みなさんは、2線式センサを使っていますか?

プライムモーション社の標準コントローラは、2線式センサに対応しない仕様になっています。

Link: 「高性能制御を簡単に、みんなに!」  

プライムモーション社(みんなで手軽にWindowsリアルタイムIO制御)

プライムモーション(Windowsで手軽にリアルタイムIO制御)

プライムモーション社(RTEXとパルスの16軸マルチタスクコントローラ)

プライムモーション(RTEXとパルス列のマルチプロセスコントローラ)

| | コメント (0)

2010年6月21日

RTEXのリモートIO、32IN/32OUT

RTEXのリモートIO、32IN/32OUT動いています。

32OUT(左側)すべてON、32IN(右側)のうち、8点ONの写真。

Rio_led_2

Link: 「高性能制御を簡単に、みんなに!」  

プライムモーション社(みんなで手軽にWindowsリアルタイムIO制御)

プライムモーション(Windowsで手軽にリアルタイムIO制御)

プライムモーション社(RTEXとパルスの16軸マルチタスクコントローラ)

プライムモーション(RTEXとパルス列のマルチプロセスコントローラ)

| | コメント (0)

2010年6月20日

タクトアップするには?

タクトアップするには?

1、メカの最高速度を上げる

2、加速時間、減速時間を短くする(可動部を軽くする)

3、移動経路を短くする。途中で停止させない。(アーチモーション、ゲートモーション)

4、位置決め完了の速いサーボを使う(エンコーダの分解能の高いサーボを使う)

5、整定が速い加減速曲線を使う

6、パルス列のサーボを使う(通信タイプのサーボを使わない)

7、遅いシリアル通信はなるべく使わない(分散処理して、パラレル通信する。分散処理しないで、超高速CPU1個で処理する。)

8、並列動作させる(複数個同時に扱う、作業を分けてパイプラインにする、動かしながら他の作業をする)

9、見込みの目標位置で動かして、後で位置決め補正する

10、速い画像処理をする

11、速いコントローラを使う

相容れないところもあるが、こんなところ?

Link: 「高性能制御を簡単に、みんなに!」  

プライムモーション社(みんなで手軽にWindowsリアルタイムIO制御)

プライムモーション(Windowsで手軽にリアルタイムIO制御)

プライムモーション社(RTEXとパルスの16軸マルチタスクコントローラ)

プライムモーション(RTEXとパルス列のマルチプロセスコントローラ)

| | コメント (0)

2010年6月19日

Intel Atom D510のリアルタイム1ms割り込み処理時間の評価

Intel Atom D510のリアルタイム1ms割り込み処理時間をオシロスコープで評価した。

Photo

ジッタが大きい。平均は約300us。最大約600usになる。

画面が頻繁に変更されるようなアプリケーションを立ち上げると、ジッタが大きくなる。

それで、グラフィックアクセラレータを無効にしてみた。

Graphic_acc

ジッタは、あまり変わらない。

Link: 「高性能制御を簡単に、みんなに!」  

プライムモーション社(みんなで手軽にWindowsリアルタイムIO制御)

プライムモーション(Windowsで手軽にリアルタイムIO制御)

プライムモーション社(RTEXとパルスの16軸マルチタスクコントローラ)

プライムモーション(RTEXとパルス列のマルチプロセスコントローラ)

| | コメント (0)

2010年6月18日

割り込み独占のために、スロットが多いINTA#にIRQ負担をさせないというのも良い方法

IRQを独占するために、スロットが多いINTA#にIRQ負担をさせないというのも良い方法でした。

・CPUカード Portwell ROBO-8777VG2A

・バックプレーン Portwell PBP-14AC

のパソコンにて、以下のPCIカード、合計9枚差して、

IRQを1つのカード(JOY-RT8CR)に独占させるという課題。

USBポートは、少しポートを無効にして良いという条件。

PCIカードは、

・プライムモーション社 8軸モーションカード JOY-RT8CR 1枚

・プライムモーション社 8軸モーションカード JOY-RT8S 1枚

・CONTEC社 128IN PI-128L(PCI)H 2枚

・CONTEC社 128OUT PO-128L(PCI)H 2枚

・CONTEC社 4chCOM COM-4(PCI)H 1枚

・COGNEX社 8501 1枚

・COGNEX社 8100 1枚

カード配置の結論は、 以下。

Intcinta_

結果として、得られた指針は、

1、INTC#ラインにIRQ独占したい「JOY-RT8CR」を差す

2、他のINTC#ラインには、IRQ要求のないカードを差す

3、スロットが多いINTA#ラインは、IRQ要求負荷をなくす。

この3番の指針は、経験的な結論なので、他のPCでも有効か疑問がある。

IRQ独占状態は、以下。

Irq_ok_2

割り込み要求(IRQ)にて、

(PCI)18に 1つだけデバイスがある。

この「Rtx Pnp and Power Management Device」というのは、RTXのドライバが割りつけられた「JOY-RT8CR」モーションカードである

このとき、無効にしたデバイスは以下(画面3枚の中の印)。

Device_0

Device_2

Device_3

USBのHost Controllerを無効にしているので、使えないポートがある。

以下の写真のデバイスがさして無い3つのポートが使えなくなった。

Dscf3286 

Dscf3287

トライアンドエラーで、結構、根気のいる作業です。

「モーションおやじ」みたいなもの好きでないとできない。

Link: 「高性能制御を簡単に、みんなに!」  

プライムモーション社(みんなで手軽にWindowsリアルタイムIO制御)

プライムモーション(Windowsで手軽にリアルタイムIO制御)

プライムモーション社(RTEXとパルスの16軸マルチタスクコントローラ)

プライムモーション(RTEXとパルス列のマルチプロセスコントローラ)

| | コメント (0)

2010年6月17日

IRQ独占するために、バックプレーンのINTA#ルーティング(配線)を配慮して、PCIカードを差す

割り込み(IRQ)が集中しないように、バックプレーンのINTA#ルーティング(配線)を配慮して、PCIカードを差す。

たとえば、あるバックプレーンの複数のPCIスロットとそのPCIコネクタのA6ピンのINTA#信号の関係は、下表の2列目と3列目の関係になっている。

Intaintb

PCIコネクタのA6ピンのINTA#信号は、「INTA#」という名前が付いているが、実態は、INTB#だったり、INTC#だったり、INTD#だったりする。

具体的には、下図のように交互に配線されている。

Image001

このバックプレーンでは、上表のようにINTA#の実態の割り付けが多いので、

INTA#の実態が配線されているスロットに

・割り込み(IRQ)を独占したい「JOY-RT8CR」カード

・割り込み(IRQ)を要求しないカード

を挿入する。

これで、パソコンを起動すると、

IRQを独占したい「JOY-RT8CR」カードが割りつけられたIRQ番号に、いくつか他のデバイスが現れる。

この他のデバイスがUSBのControllerなら、それを削除して、「JOY-RT8CR」カードにIRQ独占させることができる。

うまくいかないときは、

次の画面のように、作戦を変えて、

INTA#にINTC#の実態が配線されているPCIスロット(赤い字の部分)に

・IRQを独占したいカード

・割り込み(IRQ)を要求しないカード

を差して、パソコンを起動してみる。

Intcintd_2

上の画面のように、スロットに空きがあるようならば、INTD#をすべて空きにするということがうまく行く場合もある。(だめだったら、INTA#をすべて空き、INTB#をすべて空き、INTC#をすべて空き、も試してみる価値がある)

根気のいる作業です。

とある人が、

「バックプレーンのINTA#、INTB#、INTC#、INTD#パターンをカットして、自分の都合のよいように、配線し直している」

と言っていた。

1台だけだったら、そういう技もあり。

Link: 「高性能制御を簡単に、みんなに!」  

プライムモーション社(みんなで手軽にWindowsリアルタイムIO制御)

プライムモーション(Windowsで手軽にリアルタイムIO制御)

プライムモーション社(RTEXとパルスの16軸マルチタスクコントローラ)

プライムモーション(RTEXとパルス列のマルチプロセスコントローラ)

| | コメント (0)

2010年6月16日

最近、パソコンの割り込み要求(IRQ)の独占は、難しい

最近、パソコンの割り込み要求(IRQ)の独占は、難しい。

CPUカードが多機能になって、割り込み(IRQ)を要求するいろいろなデバイスが付いているので、IRQ独占が難しくなってきている。

添付は、

Portwell社のROBO-8777VG2AのCPUカードと

他に9枚のPCIカードを

Portwell社バックプレーンPBP-14ACに差した時の、IRQの状態。

(クリックで拡大)

Irq_butukari

(PCI)18に

Rtx Pnp and Power Management Device

がある。しかし、その上に2行、(PCI)18のデバイスがある。

この3行を

(PCI)18 Rtx Pnp and Power Management Device

のみの1行にしたい。

他の2行は、USBのHost Conrollerなので、有効なUSBポートが何ポートか残ればいいという判断で、「無効」にしてしまう。

そうすると、独占できる。

実は、意図的に

USBのHost ConrollerとRtx Pnp and Power Management Device

をぶつかるようにPCIカードの差す場所、差す種類を制御している。

USBのHost Conrollerなら、いくつもあるので、無効にしても、有効で生き残るポートがあるだろうと、冗長性に期待している。

例えば、上の画像に戻って

(PCI)16では、Gigabit Ethernet NICとぶつかる。

(PCI)17では、CONTECのカード、Gigabit Ethernet NICとぶつかる。

(PCI)19では、COGNEXのカード、SATA Contollerとぶつかる。

(PCI)21や(PCI)23は、USBのHost Conrollerだけなので、ここにRtx Pnp and Power Management Deviceをぶつけるという案もあるが、ぶつけることができなかった。

CPUカードの設計に依存する部分が多くて、ユーザのIRQ番号制御の自由度が少ない。

「モーションおやじ」は、なんでこんな変わったことをしているかというと、

ギガヘルツCPUの演算能力を割り込み処理で独占したいという理由で、IRQ独占の努力をしている。

このCPUカードは、Core2Duoが載っていて、とてもとても速い。

努力が報われる感じがする。

Link: 「高性能制御を簡単に、みんなに!」  

プライムモーション社(みんなで手軽にWindowsリアルタイムIO制御)

プライムモーション(Windowsで手軽にリアルタイムIO制御)

プライムモーション社(RTEXとパルスの16軸マルチタスクコントローラ)

プライムモーション(RTEXとパルス列のマルチプロセスコントローラ)

| | コメント (0)

2010年6月15日

Intel Atom D510を使ったソフトモーションコントローラのINTA#割込み信号

Intel Atom D510を使ったソフトモーションコントローラのINTA#割込み信号。

Inta

PCIバスのINTA#割込み信号。

1ms毎発生させて、

その1ms毎割込み処理でソフトモーションコントローラ演算をしている。

波形の立下りは、ハードウェア。

立上りは、ソフトウェア処理。

割込み応答時間は、7usから28us。

割込み応答ジッターは、21us。

Windowsをリアルタイムにしている状態で、この数値。

CPU1.66GHz、メモリ512MBのシステムで、この応答。

デュアルコア、4スレッド。

CPU能力使い放題。

Windowsも走る。

しびれますぅ?

こんな高性能がプライムモーション社の製品に実装されています。

Link: 「高性能制御を簡単に、みんなに!」  

プライムモーション社(みんなで手軽にWindowsリアルタイムIO制御)

プライムモーション(Windowsで手軽にリアルタイムIO制御)

プライムモーション社(RTEXとパルスの16軸マルチタスクコントローラ)

プライムモーション(RTEXとパルス列のマルチプロセスコントローラ)

| | コメント (0)

2010年6月14日

Intel Atom D510を使った16軸Windowsリアルタイム機械制御用コントローラ。

Intel Atom D510を使った16軸Windowsリアルタイム機械制御用コントローラのリアルタイム性評価。

外形写真は、こちら、

http://robotcontroller.cocolog-nifty.com/blog/2010/06/intel-atom-d5-1.html

さて、

プライムモーション社のユーティリティソフト

「MOTIWARE Manager (モウティウェア マネジャー)」

のリアルタイム性評価モード「ドクターモード」で

・1ms割り込み周期

・1ms割込み処理時間

を調べる。その評価結果。クリックで拡大。

Process_time

31869234回評価した。

31869234ms=31869s=8.8時間の評価になる。

1ms割り込み周期の最小値は9389。最大値は10610。単位は100ns。

つまり、1000us-61.1usから1000us+61.0usのばらつき。

±6.1%のジッタなので、良いほう。

1ms割り込み処理時間の最小値は288.2us。最大値は705.6us。平均値は348us。

+202%のジッタなので、かなり大きい。

以下は、1ms割込み処理時間が603.1usを記録した前後のデータ。

1ms_2 

割込み処理時間の拡大をする。1周期のみ、突然大きくなっている。

何が影響しているのか?

1ms_3

次に、1ms割り込み周期の拡大。突然大きくなって、その同じ大きさの反動がある。

1ms_4

Link: 「高性能制御を簡単に、みんなに!」  

プライムモーション社(みんなで手軽にWindowsリアルタイムIO制御)

プライムモーション(Windowsで手軽にリアルタイムIO制御)

プライムモーション社(RTEXとパルスの16軸マルチタスクコントローラ)

プライムモーション(RTEXとパルス列のマルチプロセスコントローラ)

 

| | コメント (0)

2010年6月13日

パナソニック社RTEX(Realtime Express)のMAC-IDマッピングモニタ

パナソニック社RTEX(Realtime Express)のMAC-IDマッピングモニタを作っています。

「今頃かぁ!」なんて言わないで下さいよ。

少ない人数、少ない資本金で"優先順位をつけて"頑張っています。

「MOTIWARE Manager AM (モウティウェア マネジャー エーエム)」

に以下の画面が付きます。

現在テスト中ですので、変更の可能性があります。

スタンドアローンコントローラ「InterMotion」専用ツールです。

MAC-ID(Node番号)、0と1にRTEX機器が接続されていて、正常に通信している状態の画面です。(クリックで拡大)

Rtex_info2

これは、通信エラーがある場合(クリックで拡大)

Rtex_info

Fatal error Code = 20

なので、RTEX回線が無効(使えない状態)になっています。

Link: 

プライムモーション社(みんなで手軽にWindowsリアルタイムIO制御)

プライムモーション(Windowsで手軽にリアルタイムIO制御)

プライムモーション社(RTEXとパルスの16軸マルチタスクコントローラ)

プライムモーション(RTEXとパルス列のマルチプロセスコントローラ)

| | コメント (0)

通信処理は、手間がかかる

通信処理は、手間がかかる。

まず、初期化して、つながるまでに時間がかかる。

つながった後、通信エラーの処理をどのようにするか?

どのような操作で、どこの状態に復旧させるか、仕様で悩んで、実装で手間がかかって、検査方法でさらに悩んで、時間がかかる。

パラレル信号なら、悩むことがない。

省配線、小型化、を実現するためには、通信は避けてとおれないね。

Link: 

プライムモーション社(みんなで手軽にWindowsリアルタイムIO制御)

プライムモーション(Windowsで手軽にリアルタイムIO制御)

プライムモーション社(RTEXとパルスの16軸マルチタスクコントローラ)

プライムモーション(RTEXとパルス列のマルチプロセスコントローラ)

| | コメント (0)

2010年6月12日

東芝2.5インチハードディスクのボイルコイルモータとスピンドルモータ

東芝2.5インチハードディスクのボイルコイルモータとスピンドルモータ。

久々にモータの話。

古いノートPCの中にあった、東芝の2.5インチHDD。

型式はMK4309MAT。

容量は、4.3GB。少ないねぇ。

インターネットで調べると1998.6.4に東芝のプレスリリースが出ている。

12年前。

Hdd

2枚のディスクを取ると

Vcm_

真ん中の円板がスピンドルモータ。左上の台形の銅線部分がボイスコイルモータ。

ボイスコイルモータを取り出すと、

Vcm

横から見ると

Vcm__2

制御基板

Photo

3.5inchHDDのモータ写真は、こちら、

全体写真

http://robotcontroller.cocolog-nifty.com/blog/2008/12/post-6215.html

ボイスコイルモータ

http://robotcontroller.cocolog-nifty.com/blog/2009/01/post-e58f.html

スイングアーム

http://robotcontroller.cocolog-nifty.com/blog/2009/01/post-f9d8.html

マスクター社HDDとウェスタンデジタル社HDD比較(1)全体

http://robotcontroller.cocolog-nifty.com/blog/2009/11/westerndigtanlc.html

マスクター社HDDとウェスタンデジタル社HDD比較(2)ボイスコイルモータ

http://robotcontroller.cocolog-nifty.com/blog/2009/11/3gb40gb-22d4.html

Link: 

プライムモーション社(みんなで手軽にWindowsリアルタイムIO制御)

プライムモーション(Windowsで手軽にリアルタイムIO制御)

プライムモーション社(RTEXとパルスの16軸マルチタスクコントローラ)

プライムモーション(RTEXとパルス列のマルチプロセスコントローラ)

| | コメント (0)

2010年6月11日

PCIカードのリアルタイム用ドライバを選択して、接続して、リアルタイム制御下にする

パソコンに、DIOやADのPCIカードをセットアップして、

手軽にWindowsリアルタイムIO制御環境「MOS Bench(モスベンチ)」をインストールして、

その後、

挿入したDIOカードやADカードのリアルタイム用ドライバを選択して、接続する。

その設定ソフトが「設定ファイル編集」。

ありきたりな名前でごめんなさい。

(クリックで拡大)

Photo

「MOTIWARE」-「設定ファイル編集」で、以下の画面になる。

「MOTIWARE Config」と左上に、書いてある。

通称「モウティウェア コンフィグ」。

Dio_config

この画面は、「DI/DO」タブの画面。(クリックで拡大)

DIOカードのリアルタイムドライバの選択設定をする。

「構成タイプ」の行には、リアルタイム対応させたいCONTEC社のDIOカードに対応する番号を入力する。

画面では、「2」が入力されている。

これは、

PI-128L(PCI)Hの128点DINカード

PO-128L(PCI)Hの128点DOUTボード

をペアで使うことを示している。

次の行「対象ボード有効(1)、無効(0)」で1の列と5の列に「1」が入っている。

これは、

PI-128L(PCI)Hの128点DINカード

PO-128L(PCI)Hの128点DOUTボード

を1枚ずつ使用することを示している。

この状態で「保存」して、ソフトを再起動すれば、2つのカードをリアルタイム環境下で制御できる。

簡単でしょ。

ちなみにAD、DAカードのリアルタイム制御設定画面は、

(クリックで拡大)

Adda_config

COMカードのリアルタイム制御設定画面は、

(クリックで拡大)

Com_config

これでソフトを再起動すると、「RTX Server」画面に、

各カードがリアルタイム制御下に入ったことが表示される。(クリックで拡大)

Rtx_server

ここまで来たら、あなたもWindowsリアルタイム仲間!

じゃまなWindowsをはるか後方に追いやって、高速レーンの制御ができてしまう。

以下の簡単な命令で、リアルタイムIO制御できる。

DOUTは、

    WritePort( 2113, 1 ); // 2113番ポートをオン。

DINは、

    Din1 = ReadPort( 2049 ); // 2049番ポートをリード。

DAは、

    WriteAo(1, 5); // DAのch1へ5V出力。[V]単位。

ADは、

    Vin1 = ReadAi(1); //ADのch1をリード。[V]単位。

COM(RS232C)は、

    ComOpen(101,115200,8,0,1); //ch101を115200bps、データ8ビット、パリティなし、ストップ1ビットでオープン

   ComOutputString(101, "123.45\r\n"); //ch101から文字列を出力。

みんな、リアルタイムに動きます。

簡単でしょ?

簡単でない人、いますか?

いたら、「モーションおやじ」困ります。

これ以上、簡単になりません。

だって、

PCIカードを差して、

「設定ファイル編集」で、「1」とか入力して、

WritePort( 2113, 1 ); と書いて、

実行すれば、動くのですよ。

しかもリアルタイムに。ギガヘルツのCPUで。

Link: 

プライムモーション社(みんなで手軽にWindowsリアルタイムIO制御)

プライムモーション(Windowsで手軽にリアルタイムIO制御)

プライムモーション社(RTEXとパルスの16軸マルチタスクコントローラ)

プライムモーション(RTEXとパルス列のマルチプロセスコントローラ)

| | コメント (0)

2010年6月10日

Intel Atom D510を使った16軸,128IN,128OUT,8DA,16AD,2COMのWindowsリアルタイム機械制御用コントローラ

Intel Atom D510を使った16軸,128IN,128OUT,8DA,16AD,2COMのWindowsリアルタイム機械制御用コントローラ。

背面から

Irq_ok_haichi

内部

Irq_ok_naibu

CPUカードの左から

1、128点OUT: CONTEC社 PO-128L(PCI)H

2、12bitDA-8ch:  CONTEC社 DA12-8(PCI)

3、8軸モーション: プライムモーション社 JOY-RT8S

4、COM-2ch: CONTEC社 COM-2(PCI)H

5、8軸モーション: プライムモーション社 JOY-RT8CR

6、128点IN: CONTEC社 PI-128L(PCI)H

7、16bitAD-16ch: CONTEC社 AD16-16U(PCI)EH

と並んでいる。

合計、 

16軸,128IN,128OUT,8DA,16AD,2COMをWindowsリアルタイムで制御できる。

結構大きな装置まで対応できる。

外形は、W332XD246XH157(突起物含まず)で、

CDドライブ等が無い、ケージタイプ。小さなスペースにも入る。

さらに、

プライムモーション社 JOY-RT8CRのモーションカードがCPUの割込み(IRQ)を独占しているので、高度なモーション制御も可能である。

以下の画面で、

CPUの割込み(IRQ)独占の具体例を説明する。

割り込み要求(IRQ)の詳細をみると、

「(PCI)17」が1つしかない(独占されている)ことが分かる。

ところが、

他の、例えば、「(PCI)16」は、4行表示されていて、4つのデバイスで共有されている。

Irq_2nd

独占されている「(PCI)17」が、リアルタイム拡張ソフト「RTX」のドライバ、

「Rtx Pnp and Power Management Device」

を割りつけたプライムモーション社のモーションカードである。

Link: 

プライムモーション社(みんなで手軽にWindowsリアルタイムIO制御)

プライムモーション(Windowsで手軽にリアルタイムIO制御)

プライムモーション社(RTEXとパルスの16軸マルチタスクコントローラ)

プライムモーション(RTEXとパルス列のマルチプロセスコントローラ)

 

| | コメント (0)

いろいろしがらみがあって、多種のコントローラを使っています。

いろいろしがらみがあって、多種のコントローラを使っています。

昨日、メイルが来た潜在的なお客様。

設備関連のコントローラとして

・マイコン

・シーケンサ

・PC(Windows)

などが混在しているとのこと。

以下、そのお客様のメイルの内容を引用させていただきます。

「市場の短納期化に対応するためには、リソースの集中と技術の蓄積が必要ですが、様々なしがらみから一筋縄では行きません。御社の”MOS Bench”には、それに対応する回答があるように感じます。」

素晴らしいコメント、ありがとうございます。

とてもうれしいです。

でも、採用に至るまでは、きっと長い長い道のりがあると思います。

いろいろな意見の方がいらっしゃるので、社内調整がとてもたいへんだと想像します。

今回、社内調整があまり要らない普及価格の「MOS Bench EY(いいわい!)」を発売しますので、ひっそりと導入するには、よいと思います。

プライムモーション社のコントローラは、大きく2種類あります。

・パソコンベースのWindowsリアルタイムコントローラ(超高速制御)

・スタンドアローンのコントローラ「InterMotionシリーズ」

どちらもC言語ライクの機械制御用「MOS言語」で開発できます。

どちらの「MOS言語」開発環境もルックアンドフィールを合わせてあります。

Link: 

プライムモーション社(みんなで手軽にWindowsリアルタイムIO制御)

プライムモーション(Windowsで手軽にリアルタイムIO制御)

プライムモーション社(RTEXとパルスの16軸マルチタスクコントローラ)

プライムモーション(RTEXとパルス列のマルチプロセスコントローラ)

| | コメント (0)

2010年6月 9日

Intel Atom D510 CPUボードのリアルタイム性評価

Intel Atom D510 CPUボードのリアルタイム性評価。

伊那市に事業所のあるロジテック株式会社さんのご協力で、Intel Atom D510 CPUボードのリアルタイム性評価をしている。

いつもありがとうございます。

Photo

動作周波数は、1.66GHz。

512MBのRAM。

IntelのホームページによるとIntel Atom D510は、コアが2つスレッドが4つと書いてある。

ところが、タスクマネージャでみるとCPU使用率の履歴グラフが3つある。

この数の違いは何?

Cpu

リアルタイム拡張ソフト「RTX」をインストールして、Dedicated(1つのコアをリアルタイムで占有する)に設定すると、つになる。

_

これは、通常のWindows。つのグラフになる。

以前、

Intel Atom N270 1.6GHzのCPUボード(1コア、2スレッド)のリアルタイム性評価をしたことがあるが、

今回のIntel Atom D510 1.66GHzのほうが、性能がよい。

Link: 

プライムモーション社(みんなで手軽にWindowsリアルタイムIO制御)

プライムモーション(Windowsで手軽にリアルタイムIO制御)

プライムモーション社(RTEXとパルスの16軸マルチタスクコントローラ)

プライムモーション(RTEXとパルス列のマルチプロセスコントローラ)

| | コメント (0)

2010年6月 8日

MOTIWAREサービスのオープンに失敗しました。

「MOTIWAREサービスのオープンに失敗しました。」

Photo

今日は、新しいパソコンのリアルタイム性評価を行った。

最近も忙しくて、よるの8時から、この作業が始まった。

従業員に任せたいが、彼らもそれぞれ納期の迫った仕事がある。

まず、

IntervalZreo社のWindowsリアルタイム拡張ソフト、RTX651評価版をインストール。

その次に、プライムモーション社の手軽にWindowsリアルタイムIO制御環境「MOS Bench」の中の「MOTIWARE(モウティウェア)」をインストール。

プライムモーション社の8軸モーションカード「JOY-RT8CR」を取り付ける。

RTXのドライバを割り付ける。

「JOY-RT8CR」がIRQ独占していることを確認。

さて、「パソコンのリアルタイム性を評価するぞ!」と意気込んで、

「MOTIWAREサービス」を起動したら、上記のメッセージ。

結局、

「MOTIWARE(モウティウェア)」をアンインストール。

「MOTIWARE(モウティウェア)」をインストール。

で正常に「MOTIWAREサービス」が起動した。

どうしてこうなるのかねぇ!

パソコンベースのシステムは、いろいろなハードとソフトの合体で動く。

いろいろ体験して、わかっていく。

Link: 

プライムモーション社(みんなで手軽にWindowsリアルタイムIO制御)

プライムモーション(Windowsで手軽にリアルタイムIO制御)

プライムモーション社(RTEXとパルスの16軸マルチタスクコントローラ)

プライムモーション(RTEXとパルス列のマルチプロセスコントローラ)

| | コメント (0)

2010年6月 7日

PLC(シーケンサ)とパソコンの制御システムをパソコン1台にする。

PLC(シーケンサ)とパソコンの制御システムをパソコン1台にする、としたら、

Windowsをリアルタイム化する。

簡単にWindowsをリアルタイム化できれば、よい選択肢と思う。

Image001

シーケンサプログラマとWindowsプログラマで分担していたら、

Windowsプログラマ1人でできるようになる。

CPUを3台持ち出して、立ち上げしていたら、CPU1台でできるようになる。

Link: 

プライムモーション社(みんなで手軽にWindowsリアルタイムIO制御)

プライムモーション(Windowsで手軽にリアルタイムIO制御)

プライムモーション社(RTEXとパルスの16軸マルチタスクコントローラ)

プライムモーション(RTEXとパルス列のマルチプロセスコントローラ)

 

| | コメント (0)

2010年6月 6日

晴天の中央アルプス宝剣岳

晴天の中央アルプス宝剣岳。初夏の陽気。

気持ちがいいねぇ。

100606__

Link: 

プライムモーション社(みんなで手軽にWindowsリアルタイムIO制御)

プライムモーション(Windowsで手軽にリアルタイムIO制御)

プライムモーション社(RTEXとパルスの16軸マルチタスクコントローラ)

プライムモーション(RTEXとパルス列のマルチプロセスコントローラ)

| | コメント (0)

2010年6月 5日

信濃毎日新聞にWindowsリアルタイム制御環境「MOS Bench EY」の記事が掲載されました。

信濃毎日新聞にWindowsで手軽にリアルタイム制御環境「MOS Bench EY」の記事が掲載されました。

取材に来られた記者の方が文系なので、ご理解いただけたか、少し心配でした。

しかし、記事を読むとさすがプロ。

本質をおさえた文面でした。

わざわざ長野市から来ていただいて、ありがとうございます。

Link: 

プライムモーション社(みんなで手軽にWindowsリアルタイムIO制御)

プライムモーション(Windowsで手軽にリアルタイムIO制御)

プライムモーション社(RTEXとパルスの16軸マルチタスクコントローラ)

プライムモーション(RTEXとパルス列のマルチプロセスコントローラ)

| | コメント (0)

2010年6月 4日

「モーションおやじ」さんは、仕事をしないでくださいよ!

「『モーションおやじ』さんは、仕事をしないでくださいよ!」

とお客様に言われてしまいました。

いろいろ、遅れていて、申し訳ありません。

「従業員に仕事をどんどん回しなさい!」というご指摘です。

そのつもりで、回しているのですが、山になっています。

お客様の役に立ちたいと思って、アイディアをどんどん出して、実現しようとしてしまうタイプなのです。

Link: 

プライムモーション社(みんなで手軽にWindowsリアルタイムIO制御)

プライムモーション(Windowsで手軽にリアルタイムIO制御)

プライムモーション社(RTEXとパルスの16軸マルチタスクコントローラ)

プライムモーション(RTEXとパルス列のマルチプロセスコントローラ)

| | コメント (0)

2010年6月 3日

リアルタイムOSに触ることなく、リアルタイム制御したい

「リアルタイムOSに触ることなく、リアルタイム制御したい」と言う要望に応えるには?

答え:

リアルタイムOS上で動作する「リアルタイムインタープリタ」!

ユーザが非リアルタイムOS(例えば、Windows)上で、プログラムを書く。

それを、「リアルタイムインタープリタ」パッケージに含まれる「ビルダー」で、「中間コード」に変換する。

その「中間コード」をリアルタイムOS上で動作する「リアルタイムインタープリタ」で走らせる。

最高速ではないけれど、とても簡単にリアルタイム制御ができる。

Link: 

プライムモーション社(みんなで手軽にWindowsリアルタイムIO制御)

プライムモーション(Windowsで手軽にリアルタイムIO制御)

プライムモーション社(RTEXとパルスの16軸マルチタスクコントローラ)

プライムモーション(RTEXとパルス列のマルチプロセスコントローラ)

| | コメント (0)

2010年6月 2日

パルス列8軸とRTEX8軸の16軸モーションコントローラ。リモートIOもつながる。

パルス列8軸とRTEX8軸の16軸モーションコントローラ。リモートIOもつながる。

写真の右側(幅広)がパルス列8軸とRTEX8軸の合計16軸。

写真の左側がRTEX16軸。

Dscf3229_384x512_2

RTEXスレーブのリモートIOがつながる。

Rio3232_512x384_2

32IN/32OUT。最大6枚つながる。

192IN/192OUTまで。

Link: 

プライムモーション社(みんなで手軽にWindowsリアルタイムIO制御)

プライムモーション(Windowsで手軽にリアルタイムIO制御)

プライムモーション社(RTEXとパルスの16軸マルチタスクコントローラ)

プライムモーション(RTEXとパルス列のマルチプロセスコントローラ)

| | コメント (0)

2010年6月 1日

コレガのスイッチングハブCG-SW08GTRの動作がおかしい

コレガのスイッチングハブCG-SW08GTRの動作がおかしくなったので、分解した。

8ポートのHub。

電源基板と通信制御基板があった。

通信制御基板には、大きなIC。

VITESSE社、VSC7398XYU。□40mm、757pinBGAパッケージ。

Cgsw08gtr

その裏面。

Photo

シンプルだよな。安いわけだ。

Link: 

プライムモーション社(みんなで手軽にWindowsリアルタイムIO制御)

プライムモーション(Windowsで手軽にリアルタイムIO制御)

プライムモーション社(RTEXとパルスの16軸マルチタスクコントローラ)

プライムモーション(RTEXとパルス列のマルチプロセスコントローラ)

| | コメント (0)

« 2010年5月 | トップページ | 2010年7月 »