Home
Support
「サブVI 'Out Port Old 6.x.vi' もしくは 'In Port Old 6.x.vi'が見つかりません」というエラーが発生する
「サブVI "Out Port Old 6.x.vi" もしくは "In Port Old 6.x.vi"が見つかりません」というエラーが発生する
使用ソフトウェア:
使用ソフトウェア・バージョン: 1.0
1.0.1
5.0.1f1
3.0.1
3.0
8.0.1
2.7.1
2.4.5
1.6
2.3
1.1
4.0.1
使用ソフトウェア・バージョンに特化: N/A
二次のソフトウェア: LabVIEW Development Systems>>LabVIEW Base Package, LabVIEW Development Systems>>LabVIEW Professional Development System
問題: LabVIEWを新しいバージョンにアップグレードし、LabVIEW 6.x以前で作成された既存のVIを使用しようとしています。VIを開くと"Out Port Old 6.x.vi" または "In Port Old 6.x.vi"を自動検索しますが「サブVIが見つかりません」とエラーが発生してしまいます。しかし、LabVIEW 6.xで作成された既存のVIは上記の関数を使用していません。どうしてLabVIEWは上記の関数を検索するのでしょうか?また、どのようにしてプログラムを修復するのでしょうか?
解決策: 検索されている"Out Port Old 6.x.vi" や "In Port Old 6.x.vi"はLabVIEW4.1から6.1に含まれる関数で、レジスタレベルでのハードウェアアクセスの際に使用されます。これらの古いバージョンのLabVIEWに含まれる関数は直接ハードウェアにアクセスするカーネルモードルーチンではないためWindowsNT/2000/XPで使用することが出来ません。そのため、WindowsNT/2000/XPではLabVIEW7.0以降に含まれるバージョンの"In Port" と "Out Port" 関数を使用する必要があります。
LabVIEW7.0以降に含まれるバージョンの"In Port" と "Out Port" 関数はポリモーフィック型で8,16,32ビット対応となりましたが、LabVIEW6.1以前に含まれるバージョンの関数と互換性が失われてしまいました。その結果、LabVIEW6.1以前のバージョンで作成されたVIをLabVIEW7.0以降のバージョンでロードすると、今回のエラーが発生します。尚、古いバージョンの"In Port" と "Out Port" 関数がLabVIEW7.0以降のバージョンでロードされると、関数名が"Out Port Old 6.x" や "In Port Old 6.x"と自動的に変更されます。
VIを修復するには古いバージョンの"In Port" と "Out Port" 関数を新しいバージョンの関数で置き換える必要があります。関数配置後はワイヤを配線しなおしてください。
関数の場所
LabVIEW7.x : 全関数>>上級>>ポートI/O
LabVIEW8.x : 全関数>>コネクティビティ>>ポートI/O
関連リンク: KnowledgeBase 2Q1FC3K8 : Accessing Hardware Registers and Physical Memory in Windows NT/2000/XP with LabVIEWDeveloper Zone Example: Port and Memory Utilities for Windows
添付:
報告日時: 08/26/2005
最終更新日: 04/01/2008
ドキュメントID: 3OPDPR2W
Other Support Options
Ask the NI Community
Collaborate with other users in our discussion forums
Request Support from an Engineer
A valid service agreement may be required, and support options vary by country.