35 lines
1.2 KiB
Matlab
Executable File
35 lines
1.2 KiB
Matlab
Executable File
function value = cainfo(pvname)
|
|
% cainfo('pvname') returns handle,element count, native type, state, ...
|
|
%
|
|
|
|
|
|
mcaNoConnection ={'unknown', 'disconnected','Disconnected due to server or network problem'};
|
|
mcaConnection ={'known', 'connected','Normal connection'};
|
|
mcaClosedConnection={'unknown', 'disconnected','Permanently disconnected (cleared)'};
|
|
|
|
|
|
value=struct('Handle',{}, 'PVName',{}, 'ElementCount',{},'NativeType',{},'State',{},'MCAMessage',{},'Host',{},'Units',{});
|
|
chInfo=mocha ('getChannelInfo', pvname);
|
|
pvCtrl=mocha ('getCtrlCache', pvname);
|
|
value(1).Handle= mocha('getHandleFromPV', pvname);
|
|
value(1).PVName= mocha('getPVFromHandle', value(1).Handle);
|
|
value(1).ElementCount=chInfo.nelem;
|
|
nativeType=strsplit(chInfo.dataType,'_');
|
|
value(1).NativeType=nativeType{2};
|
|
|
|
if (chInfo.connectFlag==1)
|
|
value(1).State=mcaConnection{2};
|
|
value(1).MCAMessage=mcaConnection{3};
|
|
else
|
|
value(1).State=mcaNoConnection{2};
|
|
value(1).MCAMessage=mcaNoConnection{3};
|
|
end
|
|
|
|
|
|
%value(1).MCAMessage=mocha('statusInfo', mocha('getStatus', pvname));
|
|
value(1).Host =chInfo.hostName;
|
|
value(1).Units=pvCtrl.units;
|
|
|
|
%value(1)=setfield(value(1),'Units',pvCtrl.units)
|
|
|