/// <summary> /// ���������õ���㼯�� /// </summary> /// <param name="WhereClause"></param> /// <param name="flag">�Ƿ�ʵʱֵ</param> /// <param name="time"></param> /// <returns></returns> public List<string> GetPointList(string WhereClause, bool flag, DateTime time) { List<string> l = new List<string>(); try { //GetPointsSQL tagname=tagname* ����ģ����ϲ�ѯ and���� PointList pl = piServer.GetPointsSQL(WhereClause, null, null); if (flag) { foreach (PIPoint pt in pl) { l.Add(pt.PointAttributes["pointid"].Value.ToString() + "," + pt.PointAttributes["tag"].Value.ToString().ToUpper() + "," + pt.PointAttributes["descriptor"].Value.ToString().ToUpper() + "," + pt.PointAttributes["engunits"].Value.ToString().ToUpper() + "," + pt.Data.Snapshot.Value.ToString()); } } else { PISDK.RetrievalTypeConstants rtc = PISDK.RetrievalTypeConstants.rtInterpolated; PISDKCommon.PIAsynchStatus pias = new PISDKCommon.PIAsynchStatus(); foreach (PIPoint pt in pl) { l.Add(pt.PointAttributes["pointid"].Value.ToString() + "," + pt.PointAttributes["tag"].Value.ToString().ToUpper() + "," + pt.PointAttributes["descriptor"].Value.ToString().ToUpper() + "," + pt.PointAttributes["engunits"].Value.ToString().ToUpper() + "," + pt.Data.ArcValue(time, rtc, pias).Value.ToString()); } } } catch (Exception ex) { _ErrorInfo = ex.Message; } return l; }
/// <summary> /// ��ȡij��������� /// </summary> /// <param name="tagname">����</param> /// <returns></returns> public string GetDigitalSnapshotValueName(string tagname) { string ReData = null; try { PISDKCommon.PIAsynchStatus pias = new PISDKCommon.PIAsynchStatus(); PISDK.PIPoint piPoint = piServer.PIPoints[tagname]; PISDK.PIValue _PIValue = piPoint.Data.Snapshot; PISDK.DigitalState myDigState = null; //if (_PIValue.Value.GetType().IsCOMObject) { myDigState = (PISDK.DigitalState)_PIValue.Value; ReData = myDigState.Name.ToString(); } } catch (Exception ex) { _ErrorInfo = ex.Message; ReData = null; } return ReData; }
/// <summary> /// ��ȡij��������� /// </summary> /// <param name="tagname">����</param> /// <returns></returns> public string GetDigitalArchiveValueName(string tagname, DateTime dt) { string ReData = null; try { PISDK.RetrievalTypeConstants rtc = PISDK.RetrievalTypeConstants.rtInterpolated; PISDKCommon.PIAsynchStatus pias = new PISDKCommon.PIAsynchStatus(); PISDK.PIPoint piPoint = piServer.PIPoints[tagname]; PISDK.PIValue _PIValue = piPoint.Data.ArcValue(dt, rtc, pias); PISDK.DigitalState myDigState = null; //if (_PIValue.Value.GetType().IsCOMObject) { myDigState = (PISDK.DigitalState)_PIValue.Value; ReData = myDigState.Name.ToString(); } } catch (Exception ex) { _ErrorInfo = ex.Message; } return ReData; }
/// <summary> /// ��ȡij�����Archiveֵ /// </summary> /// <param name="tagname">����</param> /// <returns></returns> public double GetArchiveValue(string tagname, DateTime dt) { double DValue = double.MinValue; try { PISDK.RetrievalTypeConstants rtc = PISDK.RetrievalTypeConstants.rtInterpolated; PISDKCommon.PIAsynchStatus pias = new PISDKCommon.PIAsynchStatus(); PISDK.PIPoint piPoint = piServer.PIPoints[tagname]; PISDK.PIValue _PIValue = piPoint.Data.ArcValue(dt, rtc, pias); DValue = Convert.ToDouble(_PIValue.Value.ToString()); } catch (Exception ex) { _ErrorInfo = ex.Message; } return DValue; }
/// <summary> /// ����� /// </summary> /// <param name="tagname"></param> /// <param name="value"></param> /// <returns></returns> public bool WriteSnapshotValue(string tagname, string value) { try { PISDK.PIPoint piSnapPoint = GetPoint(tagname); PISDKCommon.PIAsynchStatus pias = new PISDKCommon.PIAsynchStatus(); piSnapPoint.PointAttributes.ReadOnly = false; piSnapPoint.Data.UpdateValue(value, 0, PISDK.DataMergeConstants.dmReplaceDuplicates, pias); piSnapPoint.PointAttributes.ReadOnly = true; return true; } catch (Exception ex) { _ErrorInfo = ex.Message; return false; } }
public bool UpdateAttr(string tagname, string attr, string SetVal) { PISDK.PIPoint piSnapPoint = GetPoint(tagname); PISDKCommon.PIAsynchStatus pias = new PISDKCommon.PIAsynchStatus(); PointAttribute ptatr = piSnapPoint.PointAttributes[attr]; piSnapPoint.PointAttributes.ReadOnly = false; ptatr.Value = SetVal; piSnapPoint.PointAttributes.ReadOnly = true; return true; }