2017-03-06 24 views
1

私は、Matlab R2016とPI AF SDKを介してOsiSoftのPIデータベースにアクセスする方法について質問します。私は、PI DEVELOPERS CLUBによってホワイトペーパー"Using PI Data with MATLAB"を読み、そのサンプルコードを使用して、私は以下のコード、 でPISystemsインスタンスをロードすることができていますが、PISystems変数は任意の有用な情報にMatlabのAF SdkによるOsiSoftデータベースへのアクセス

afsdk = NET.addAssembly('OSIsoft.AFSDK'); 
import OSIsoft.AF.* 
import OSIsoft.AF.Asset.* 
import OSIsoft.AF.Time.* 
import System.* 

af_srvs = PISystems; 
が含まれていないようです私はaf_srvsの内容をチェックすると

、それが空であると私は、PIデータベースは、一般的に機能していることを確認するには

af_srvs = 

PISystems with properties: 

Count: 0 
Identity: Systems 
DirectoryOptions: Default 
Version: [1×1 System.String] 
DefaultPISystem: [] 

を取得し、私がデータを取得するためにMatlabの以外のツールを使用していました。 Excel Datalinkプラグインを介してデータにアクセスできたため、PIのインストールと設定が正常に機能しているようです。私は "PI SDK Utility"の設定もチェックしました。正しいDefault Serverも設定されています。任意のアイデア理由

af_srvs = PISystems;

は空ですか?

答えて

0

間違ったアセンブリを使用したようです。ここでは、サンプルコードのための優れたリソースを見つけることができます

afsdk = NET.addAssembly('OSIsoft.AFSDK'); 
import OSIsoft.AF.PI.*; 

piservers = OSIsoft.AF.PI.PIServers; 
%ListNET(piservers) 
%simply grab the default server 
%to get a non-default server use pisrv = piservers.Item('servername'); 

pisrv = piservers.DefaultPIServer; 
point = PIPoint.FindPIPoint(pisrv,'Sinusoid'); 

fprintf('The value of %s is %f at %s \n', char(point.Name), point.Snapshot.Value, char(point.Snapshot.Timestamp.LocalTime.ToString())); 

PIからサンプルを読み取る方法の最低限の例があるhere

関連する問題