PIDataLink基础培训课程教材.docx
- 文档编号:8900302
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:22
- 大小:501.35KB
PIDataLink基础培训课程教材.docx
《PIDataLink基础培训课程教材.docx》由会员分享,可在线阅读,更多相关《PIDataLink基础培训课程教材.docx(22页珍藏版)》请在冰豆网上搜索。
PIDataLink基础培训课程教材
PI-DataLink
基础培训教材
山东鲁能软件有限公司
1.PI-DataLink简介
OSISoftware公司的PI-DataLink提供了一个PI UniversalDataServer与两个流行的电子表格软件的连接。
使用PI-DataLink插件,用户可以直接使用MicrosoftExcel或者Lotus1-2-3与PI系统直接交换信息。
这些特性,加上电子表格本身的函数,使PI-DataLink成为一个收集、分析和报告PI数据的易于使用的强有力工具。
本课程仅描述MicrosoftExcel的插件。
当PI-DataLink插件加载后,在MicrosoftExcel增加了一个PI菜单项。
要加载此插件,先找到文件,通常安装在计算机的…\PIPC\EXCEL目录中。
注:
也可使用File>Open打开插件,但这样只在本次有效。
从Excel菜单中使用Tools>Addins…选项。
1.1它是如何工作的
当向Excel电子表格的单元格中插入标签值时,不是把具体数值放入单元格中,而是将PI-DataLink的对应函数放入单元格中,然后从PI数据库中取回数据。
PI-DataLink中的函数都使用单元格的绝对地址(使用$D$1而不是D1)。
要复制公式,首先将单元格绝对地址修饰符去掉。
要更改一个函数时,必须按
使用PICurVal函数(实时值)的单元格在电子表格重新计算时计算一次。
其它函数仅在此函数改变(或对应的单元格改变)时重新计算一次。
这就是为什么说TODAY()和NOW()函数是非常有用的。
当使用它们作为起始时间或结束时间时,电子表格更新一次,对应的PI函数也会重新计算一次。
请参见用户手册中的“PI-DataLinkFunctions”相关章节。
1.2时间格式
当使用时间时,Excel将计算时间标签,PI-DataLink就地系统的时间。
如果使用PI系统的时间格式,那么服务器将会解释出多数的时间字符串。
如果使用PI系统的时间标签(如:
*-1h),数据不会自动更新。
也许显示的始终都是同一个代表PI的“now”的缩写值。
你必须编辑或修改那个特殊的单元格,使得它能显示正确的当前值。
但是如果使用的是Excel格式(用同样的例子的话,就是:
now()-1/24),每次打开或刷新该电子表格时,该值就会被更新。
下表中列出许多PI格式和Excel格式的时间:
PI时间(服务器时间)
Excel时间(客户端时间)
*-7H
Now()-7/24
T-1D
Today()–1
Mon
1-Mar-997:
00:
00
*
7:
00:
00
Y
March4,1999
TODAY()函数可以有多种使用方式。
例如:
如果现在是2004年2月23日,下列是一些TODAY()函数的应用:
=today()2/23/20040:
00
=today()-12/22/20040:
00
=today()+(7/24)2/23/20047:
00
=today()-1+(7/24)2/22/20047:
00
NOW函数也是非常有用的:
=now()2/23/200412:
34
=now()-(8/24)2/22/20044:
34
1.3PI菜单
PI的菜单如下图所示:
本课程将讨论这些功能。
第一部分是取单个数据的工具。
第二部分是取一段数据的工具。
1.3.1重新产生队列
当先选择一个电子表格上的结果队列,并且在PI-DataLink菜单中选择相应的功能菜单时,原先产生这些结果的信息就会显示在各个区域内。
这对于当调整某些数值和增加一些数值时是非常有用的。
另外,当在结果队列上单击鼠标右键时,在对应菜单的第一项选择相同的功能,选中它,就会出现产生这个队列的结果对话框。
1.4一个简单的报表
本节描述如何使用PI数据生成一个报表。
本节使用一个新的电子表格。
1.4.1基本信息
1.键入如上图所示的列表头
2.
在描述区域中的“*”键不是通配符,将其设置为空时相当于通配符。
选择PI>TagSearch启动搜索对话框来搜索标签点。
在“TagMask”区域键入“SQ*”,单击“Search”按钮,将搜索出以“SQ”开头的标签点。
注:
可以同时搜索多个属性。
描述属于子链搜索,不是一个通配搜索。
如果仅使用描述或数值进行搜索时,搜索是很慢的。
使用标签名搜索是最快的搜索方式。
也可以在数值区域重使用非正常值作为搜索条件(如:
越低限“UnderRange,”超上限“OverRange,”无数据“NoData,”输入输出超时“IOTimeout,”计算错误“CalcFailed,”新建点“PtCreated”)
3.从点列重选择SQ:
F100标签点。
单击OK。
注:
在点搜索窗口重单击Pt.Attr.按钮可以观察对应点的属性。
4.选择单元格B6。
5.从菜单中选择PI>TagAttribute...,启动属性对话框。
6.在Attribute区域选择“descriptor.”。
7.单击OK完成上述操作。
8.选择单元格C6。
9.从菜单中PI>Currentvalue...启动实时数据对话框。
注:
如果选择timeatleft选项,则会在每个点的左侧放上时间标签。
由于我们没有在表头上放时间,所以本作业中不要做这项工作。
10.选择标签名区域,单击A6单元格选择标签名。
11.单击
按钮,完成本项工作。
12.按F9键更新电子表格,将更新实时值(如果有新值存在时)。
注:
可以改变显示数值默认的小数点位置。
使用PI>Settings...选项来改变显示数值和时间的格式。
1.4.2时间关联数据
13.在单元格D1和D2中键入起始时间和结束时间。
使用今天和昨天的时间,不是直接显示的时间。
注意使用时间的语法格式,不正确的语法是常见的错误。
14.选中D6单元格,这里将放置计算结果。
15.从菜单中选择PI>Calculatedvalue...,将启动计算对话框。
单击Tagname(cells)区域,在电子表格中选择自A6单元格开始的标签名列。
16.单击Starttime(cell)区域,在电子表格中选择起始时间单元格D1。
17.单击Endtime(cell)区域,在电子表格中选择结束时间单元格D2。
18.在Mode选择“average.”。
19.不选择Conv.factor区域。
通常情况下仅仅使用total模式。
20.不要选择时间标签,时间在左侧,时间在上部。
如果不做累加功能,则不用设置转换因子(Conv.factor)
注:
如果你改变开始和结束时间单元格D1和D2中的值,那么平均值也会重新计算。
21.单击OK结束本项工作。
1.4.3内插值
22.选择E6单元格。
23.从菜单中选择PI>Archivevalue...,启动文档数据对话框。
24.在选择Timestamp(cell)区域,在电子表格中选择接受时间单元格D2。
25.忽略“notimestamp”,“timeatleft”,和“timeontop”选项。
选择interpolated为返回数据模式。
exacttime选项是指标签在给定的时刻有一个存档值,例如可以在给定时刻手工输入实验室数据。
如果在那个时刻没有数据,系统将返回“Noarchiveentryatgiventime”.信息。
1.5公式复制
使用上述例子,我们将学习如何利用Excel的拖动和复制方法来复制公式。
PI-DataLink总是使用单元格的绝对引用地址。
为了使用拖动和复制方法,我们必须将绝对地址转变为相对地址引用。
关于绝对地址和相对地址引用的详细资料,请参见Excel的用户手册或帮助文件。
选中第一个标签点和描述。
在电子表格的上部编辑区域中选择引用单元格,本例中是$A$6。
按F4键直到“$”符号消失。
重新选择这个单元格,使用右下角的小标签,将单元格的下边拖动至覆盖所有的单元格,然后释放鼠标,那么所有标签点的描述均出现在列中了。
对其它标签点重复此项工作。
注:
当在列中输入公式时,你可以同时选中多个列来代替单个的列,这样可以缩短操作时间。
1.5.1作业
使用DataLink从PI数据库中取得单个数值。
参加作业题“DL_exercise_01_Temp”。
答案:
1.先找出单元个A7标签点的属性。
单击单元格B7,从菜单中选择“Tagattributes…”,在接下来的对话框中填入下列内容:
-Tagname:
选择A7
-Attribute:
选择“descriptor”(默认项)
然后单击“OK”.
找出其它标签点的属性(单元格A8,A9,A10andA11),重复上述标签点的步骤。
注:
为了节省时间,某些Datalink函数可以通过选中多个单元格来做同样的工作。
本例中,实时值(CurrentValue),历史值(ArchiveValue)和标签点属性(TagAttribute)均可以从电子表格中同时选择多个标签点。
2.重复步骤1,在C列中增加工程单位。
从标签点属性中选择“Units”。
3.在D和E列中,显示所有5个标签点的实时值和时间。
单击单元格D7,从PI菜单中选择“Currentvalue…”,在“Tagname”区域中选择A7,同时选中“Timeatleft”选项,然后单击“OK”。
4.从PI菜单中选择第二项“Archivevalue…”,将光标放在单元格B19中,使用“interpolated”返回数据方式,在“tagname”区域中,从电子表格中选择单元格A19至A23,单元格D14作为时间。
最后,选中”timeatleft“选项,然后单击“OK”。
5.重复上述第5步,对单元格D19和F19,做同样的工作。
6.在单元格H19中,做PI菜单中“Archivevalue…”的工作,但是在返回数据方式中选择“exacttime”方式。
选择H14作为时间,然后单击“OK”。
在“exacttime”返回数据方式,不会返回时间戳。
注意:
可以不用对话框来实现PI-DataLink函数功能。
下列为简单公式举例:
Tagattribute:
=PITagAtt("tagname","NameOfAttributeYouWant",”PIServer”)
e.g.:
=PITagAtt($A$7,"descriptor",)
=PITagAtt("sinusoid","units",)
CurrentValue:
=PICurrVal("tagname",Outcode,”PIServer”)
=PICurrVal($A$7,1,)
Archivevalue:
=PIArcVal("tagname","Date",Outcode,”PIServeur”,”Mode”)
Where“Mode”=Interpolatedorpreviousornext
=PIArcVal($A$7,$D$13,1,,”Interpolated”)
ExactTimeValue:
=PIExTimeVal("tagname","Date",”PIServer”)
=PIExTimeVal($A$7,$H$25,)
备注:
本作业的步骤1中显示了取得某个标签点的某时刻值的功能。
为了节省时间可以同时选中多个标签点,如步骤5所示。
最后,也可以使用Excel的复制/粘贴功能,但是在使用前,必须重新编辑公式,并从公式中去掉不必要的“$”(单元格的绝对参考值)。
应当注意的是,当使用历史值时注意标签点的类型和“step”属性之间的关系。
例如,对于离散数字标签点,“interpolated”与“previousvalues”数值相同,并且有相同的时间戳,因为在两种状态之间没有中间值。
最后,在报告中必须注意工程单位的重要性。
如果没有它们,其它人可能无法理解报告中的数值。
1.6压缩后的数据
压缩后的数据就是存储在PI系统中的数据。
本节将学习如何从系统中取得压缩后的数据。
使用PI-DataLink有两种方法从系统中取得压缩后的数据:
使用起始时间和点数,使用起始时间和结束时间。
本节中使用第一种方法。
打开一个新的电子表格,如下图方式键入标签名(sq:
f100),起止时间和时间间隔。
1.选择A6单元格放置结果。
2.从菜单中选择PI>Compresseddata(starttime/endtime)...启动压缩数据对话框。
选中Tagname(cells)区域,在电子表格中选择单元格A1中的标签名。
3.选择Starttime(cell)区域,在电子表格中选择起始时间单元格B2。
4.选择Starttime(cell)区域,在电子表格中选择结束时间单元格B3。
5.选择showtimestamps选项。
如果不选择此项,则只能看到数值,看不到时间。
6.单击OK。
注意到显示的数值是平滑增长的,但是,文档中确不是这样存储的。
1.7采样数值
PI系统不是平均时间间隔存储数据的,而是存储压缩数据(“compresseddata.”)。
在上例的电子表格中,键入标签名和时间如下图所示。
你可以采用在PI历史库里面检索出来的等时间间隔的数据进行静态分析.
1.选择单元格D6.检索结果将放置于此.
2.在菜单栏选择PI>Sampleddata....出现对话框后.点击Tagname(cells)域.HighlightthetagnameincellA1.
3.ClickontheStarttime(cell)fieldandclickoncellA2toselectthestarttime.
4.ClickontheEndtime(cell)fieldandclickoncellA3toselecttheendtime.
5.ClickontheTimeinterval(cell)fieldandclickoncellA4toselectthedatasamplinginterval.
6.Filltheshowtimesfield.Ifyoudonot,youwillseeonlythevalueswithoutthetimestampsofeachvalue.
7.ClickontheOKbutton.
NoticehowtherearedatapointsintheSampledcolumnthatarenotintheCompressedColumn.
高级练习
1.在D列增加第二个测点,采用测点CDT158.检索采样数据取同样的开始时间、结束时间、时间间隔.
Note:
Excel中的CORREL函数用来计算A和C两列数据的相关系数.
Ifyoususpectthatthereisatimelagbetweentwoprocessvaluesthatarecorrelated,youcanchangethestartandendtimeofoneofthetagstoseeifthecorrelationcoefficientincreasesasthetwoarraysofdataareoffsetatdifferentintervals.
2.应用Excel中的CORREL函数求出两列的相关系数.
3.创建数据的散点图表,用一列左x轴,另外一列做y轴.
Hereisaspreadsheetthatcomparestwosetsofdatausingthecorrelationfunction(CORREL)andanx-yplot(alsoreferredtoasascatterplot).Yoursshouldlooksimilar.
1.7.1练习
作为检修负责人,可能更想知道#3泵的运行时间比。
使用PI插件可以产生如下报表。
本练习采用文件“”.
答案:
1.从标签点“BA:
Active.1”中取得泵的运行状态,从PI菜单中使用Compresseddata(starttime/number)填充头两列。
不要忘记选中“Showtimes”选项。
2.要知道泵的总体运行时间,我们先分别找出“Active”和“Inactive”的时间,然后将时间合计起来,为了找到时间的不同,我们采用以下函数:
e.g.:
=IF(B7="active",A8-A7,0)本表达式应该放在第8行.
上述表达式的意思是如果泵的持续状态为“active”,函数应该返回持续时间,否则返回0.
3.时间累计计算采用Excel的Sum()函数.
1.8计算值
在计算一段时间内的流量合计值时,当不是按天统计时,需要一个转换因子。
下表列出了时、分、秒的转换因子。
从每天转换到
转换因子
每时
24
每分
1440
每秒
86400
计算数值和计算函数中的“average”模式是一种时间权重的平均值。
对于离散数据的平均值,请使用“mean”模式。
更多的关于PI和平均值的内容,请参加OSI培训网站上的文件Average.doc。
下面是一组水平数据列的标签点的平均值(单元格b5..e5)
在一个新的电子表格重,键入如下图所示的标签名和时间戳。
完整的电子表格参见PICBT.XLS文件的Sheet5。
1.选中单元格A6。
返回数据结果将放在这个地方。
注意到这不是标签点名的正下方,这是因为A列将放置时间戳。
2.从PI菜单中选择PI>Calculateddata...函数,将出现“Getcalculateddata”对话框。
单击“Tagname(cells)”区域,选中B5单元格,用来获取标签名。
选择“Starttime(cell)”字段,单击E1单元格,选择起始时间。
选择“Endtime(cell)”字段,单击E2单元格,选择结束时间。
选择“Timeinterval(cell)”字段,单击E3单元格,选择计算时间间隔。
在本例中,计算结果是24小时内的1小时平均值。
在“Mode”区域内选择“average.”。
忽略Conv.factor选项。
通常只有在“total”模式下才用它。
选中“showtimes”选项,如果不选中,将只会看到数据而看不到时间戳。
本例中,时间将会显示在A列中。
1.8.1练习
假设你是产品部经理,要将上周产品汇总成表。
要显示上周的产品累计、平均值、最大值、最小值和标准方差值。
同时,还要将这些数值按天显示出来。
Thisexerciseusesthefile“”onyourworkbookdisc.
答案:
1.首先,填写周报表的累计部分。
选择单元格B16,从PI菜单中选择CalculatedData获得合计值。
在对话框中输入下列信息:
Tagname:
Cell$B$3/Starttime:
Cell$B$4/Endtime:
Cell$B$5
时间间隔不需要填写,因为我们需要这个时段的一个结果。
注:
对于合计值,必须选择合适的转换因子。
模板中显示的单位是GPM(加仑/分)。
而PI系统中假设工程单位/天,因此需要一个1440分/天的转换因子。
2.重复步骤1,并修改计算模板,得到平均值,最小值,最大值和周的值的范围。
对于最后值范围的计算部分,选中“showpercentgood”选项,来检查整个计算时段内的有效数据。
3.重复步骤1和2,得到日生产报表部分,但要设定时间间隔为1天(选择对应的引用表格)。
1.9使用过程数据条件过滤数据
如果要过滤存档数据,可以使用过滤表达式来过滤原始数据。
过滤表达式是基于性能公式表达式基础之上的。
例如,,只提取运行10小时后的试验结果。
或者过滤掉系统启动和关闭时段的数据。
下例中,SINUSOID点的未过滤的数据和过滤过的数据进行比较。
使用的过滤条件是SINUSOID>50。
下面是一个更加复杂的例子。
在Sheet6例子中,同时列出了未经过滤和过滤后的CDM158的数据。
使用的过滤表达式是当CDM158的前一个存档值为“auto”时的值。
在本例中要找出CDM158从“Auto”转到“Manual”状态的时刻。
仔细检查结果会注意到,10:
51分的“Manual”状态被过滤掉了,因为它的前一个状态不是“Auto”。
1.9.1练习
制作一张显示超出特定参数值的生产过程显示图。
生成一张越上限和越下限值的报表。
使用“”。
1.10性能公式(PerformanceEquations)
PI服务器软件支持通过PI-DataLink调用内部的性能公式(performanceequation)计算语言。
(性能公式语法的详细内容,请参见PI服务器文件第一卷的PE-7部分)这就意味着,PI-DataLink可以向PI服务器调用Excel内置的函数以外的计算功能。
打开一个新的电子表格,在单元个A1输入下列公式之一。
∙timegt(‘cdt158’,’*-1d’,’*’,150){Resultisinseconds}
∙pctgood(‘cdt158’,’*-1d’,’*’)
∙timeeq(‘cdm158’,’*-1d’,’*’,”manual”)
注:
完整的函数列表,请参加PI-DataLink手册的附录A,或者PI数据文档手册的性能公式章节。
1.分别在单元格A2,A3和A4中填入起始时间、结束时间和时间间隔。
2.从PI菜单中选择PI>Expressioncalculation...函数,调用表达式计算函数。
3.在“Expression”,“StartTime”,“EndTime”和“TimeInterval”字段中分别引用A1,A2,A3和A4单元格。
4.选中“showtimes”选项。
单击OK按钮获得数据。
可以与Excel的公式结合使用,组合许多不同的表达式,组成复杂的报表。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PIDataLink 基础 培训 课程 教材