PI实时数据库API,SDK接口调用说明
pi data link2014使用说明
pi data link2014使用说明Pi Data Link 2014是由Pi软件公司开发的一款数据连接软件。
以下是一些关于如何使用Pi Data Link 2014的说明:1.安装和配置:用户需要根据自己的操作系统选择相应的安装包,并按照安装向导进行安装。
安装完成后,用户需要进行软件的初始化配置,包括设置数据源和目标系统的连接参数、选择数据传输的方式和频率等。
2.创建连接通道:在Pi Data Link 2014中,数据连接是通过创建连接通道来实现的。
用户可以根据需要创建多个连接通道,每个连接通道可以连接一个数据源和一个目标系统。
在创建连接通道时,用户需要设置连接通道的名称、数据源和目标系统的参数,并选择数据传输的方式和频率。
3.数据传输设置:创建连接通道后,用户可以进行数据传输的设置。
Pi Data Link 2014支持多种数据传输方式,包括实时传输、定时传输和事件触发传输。
用户可以根据实际需求选择相应的传输方式,并设置传输的频率和触发条件。
同时,用户还可以设置数据传输的格式和协议,以满足目标系统的要求。
4.实时监控和日志记录:在数据传输过程中,Pi Data Link 2014提供了实时监控和日志记录功能。
用户可以通过监控界面实时查看数据传输的状态和进度,并可以根据需要进行相应的操作和调整。
同时,软件还会将传输过程中的日志记录下来,以供用户后续查阅和分析。
5.数据处理和转换:除了数据传输功能,Pi Data Link 2014还提供了数据处理和转换的功能。
用户可以通过设置数据处理规则,对传输的数据进行加工和处理,以满足目标系统的要求。
同时,软件还支持数据转换和格式化,可以将不同格式的数据转换为目标系统所需的格式。
请注意,这些步骤可能会因软件版本的不同而有所差异。
如有需要,建议查看软件的官方文档或寻求技术支持以获取更详细的使用说明。
PI数据库操作手册
PI数据库操作⼿册PI数据库操作⼿册南京促普软件技术有限公司⼀安装配置信息 (3)1.1软件环境 (3)1.2配置信息 (3)1.3需安装软件 (3)1.4⽹络配置 (4)1.5接⼝配置 (4)⼆ PI-SMT使⽤指南................................. 错误!未定义书签。
2.1在E XCEL表格中添加SMT宏....................... 错误!未定义书签。
2.1.1建⽴SMT与PI数据库的连接...........................................错误!未定义书签。
2.2测点在数据库中的导⼊、导出.............................................错误!未定义书签。
2.2.1测点在数据库中的导出....................... 错误!未定义书签。
2.2.2测点在数据库中的导⼊....................... 错误!未定义书签。
2.2.3 删除单个测点.............................. 错误!未定义书签。
2.3备份恢复O RACLE ................................ 错误!未定义书签。
2.3备份恢复PHD .................................. 错误!未定义书签。
三点数据库......................................... 错误!未定义书签。
附录.............................................. 错误!未定义书签。
⼀安装配置信息1.1 软件环境安装环境:新疆特变硅业有限公司办公楼2楼机房操作系统:Windows Server 2003 Enterprise 英⽂版 SP2 1.2 配置信息主机名称:tbea-server2账号:Administrator密码:admin,IP地址1:172.16.1.20⼦⽹掩码:255.255.255.0IP地址2:192.168.200.2511.3 需安装软件Office 2003 SP2Oracle版本:Oracle 10gPI版本:PI 3.1本系统Oracle和PI全部安装在C盘,数据档案⽂件保存在D盘。
PI实施案例
PI实时数据库在发电企业中的应用2010-12-29 14:42:33 作者:孙钦丽来源:浙江浙能钱清发电有限责任公司浏览次数:276将底层控制系统与上层管理信息系统联系起来是过程企业信息集成的必然要求,作为两者之间的桥梁,PI实时数据库广泛应用于电力,化工等行业,它在第一时间将生产系统的数据传递到业务系统,使检修人员可以即使发现问题迅速响应,管理人员也可以根据历史趋势全面掌握设备的运行情况。
我公司是具有两台机组的火力发电厂,PI系统的实施为信息管理系统提供了大量有价值的数据,缩短了上到公司领导下到检修人员与生产现场的距离,节省了人力,提高了效率。
关键词:发电企业,实时数据库,管控一体,科学发展一、实施背景随着信息化的发展,发电企业普遍引入了计算机管理系统,并开发了相应的MIS系统,在企业范围内实现计算机管理,旨在实现全方位的信息化管理方案。
但是发电企业在信息化管理方面普遍存在着信息孤岛多、数据利用率低等问题。
最突出的表现就是由于安全性的限制,生产控制系统中的数据不能直接传递到上层管理信息系统中,不能真正做到及时、全面的信息管理。
而引入PI(Plant Information)实时数据库通过搭建一个企业级数据平台,实现管理控制一体化,可解决信息化存在的主要问题,从而为发电企业信息化建设提供指导意义。
二、关于PI系统PI是OSI软件公司开发的大型实时/历史数据库系统,是企业实施ERP工程中必备的基础平台。
PI实时数据库是真正的时间序列数据库,具有强大的数据收集和管理功能,以数据原型长期在线存储存储,成为整个企业可靠的公共数据源;它具有良好的开放性以及多样化成熟接口,能很好实现企业管理和设备控制一体化;它采用专利的压缩算法,占用磁盘空间小,响应速度快;它分布式的采集接口机上的数据,完美地解决了公司信息处理中存在的不足,弥补了公司管理上的空缺。
三、实施过程:3.1 网络拓扑的构架:为确保生产控制系统的稳定安全运行,避免病毒攻击,根据国家电监会二次安全系统防护“安全分区、网络专用、横向隔离、纵向认证”的原则,确定整体的安全防护方案,具体拓扑图如图一。
PI 基础培训
20,000+公司使用
R/3 Data • Inventory • Production Cost • Maintenance Orders • Product Quality
数据
存货,生产状态, 质量 , 设备使用
Plant Data • Temp, Pressure • Flow rate, Level • Machine Status
PI DataLink: Microsoft Excel\Lotus 123 Add-In
提取PI数据做报表
PI BatchView
PI Batch
• Spreadsheet Add-In • 一种特殊的 ProcessBook 趋势图
其它 PI Batch 客户端
过程模板
PI ProfileView
Newer offerings (PI ICE, RtReports, BuzzMe, ProcessPoint)
PI API
PI SDK
PI ODBC / PI OLEDB (ODBC Driver/OLEDB client)
PI 接口 (95 % are Read/Write Interfaces. Example: RDBMS Interface, SemAPI Interface)
同时监控大数量的 tag
1个锅炉里10 个极板 温度 造纸机里200处湿度 钢材的50处 厚度
其它分析工具
PI AlarmView
PI Real-time SQC
PI ControlMonitor
开发工具
• ProcessBook VBA • ActiveX Controls • PI SDK and PI API • PI ODBC •应用程序框架
PI实时数据库的OPC和API接口浅析
PI实时数据库的OPC和API接口浅析1引言随着电厂信息化要求越来越高,SIS系统的建设逐渐走上历史舞台,很多电厂开始着手搭建自己的SIS网,而SIS的核心部分就是实时数据库系统。
说到实时数据库系统,目前的产品有很多,PI是其中重要的一员,由于它先进的旋转门压缩数据技术、加上运行稳定的特点,尽管价格高昂,它还是在国内拥有很大的市场占有率。
SIS系统的另一重要组成部分是实时数据库系统与现场设备之间的接口,衡量一个实时数据库系统的优劣,其接口系统是否具有开放性、灵活性和方便性是很重要的一方面。
在这点上,P I也具备了一流实时数据库系统应该具备的特点,它提供了对OPC、ODBC以及OLE DB的支持,另外,它还有C/C++、VB环境下的SDK开发工具包和PI-API接口函数库,利用PI-API和SDK,我们可以比较方便地开发我们自己的专用接口。
在台州发电厂的SIS项目实施过程中,我们用API开发了几个专业接口(如RTU系统的接口、电量统计系统的接口等),也利用了PI的OPC接口,完成了全电厂范围的数据采集,为今后SIS系统的进一步开发打好了基础。
以下就对OPC接口的应用和API接口函数的应用做一些介绍。
2 OPC接口的应用OPC(OLE FOR PROCESS CONTROL)是一个开放性的工业标准,它是由一些世界上著名的自动化系统和硬件、软件公司和Microsoft(微软)紧密合作而建立的,是微软公司的OLE 在过程控制方面的应用。
OPC以COM/DCOM技术为基础,采用客户/服务器模式,为工业自动化软件面向对象的开发提供了统一的标准。
采用这项标准后,硬件开发商将取代软件开发商为自己的硬件产品开发符合标准的OPC SERVER程序,而软件开发者不用再关心硬件驱动方面的技术问题,只要按标准开发OPC CLIENT程序就可完成与硬件的连接,这样不但提高了系统的开放性,也提高了软件开发的效率,使软件开发人员可以有更多的精力投入到其核心产品的开发上。
SDK通用版接口调用说明
SDK通用版接口调用说明目录1请仔细阅读信息安全责任保证条款 (2)1.1安全信息责任条款 (2)1.2注意事项:................................................................................. 错误!未定义书签。
1 Webservice接口 (3)1.1 webservice返回集合对照表 (3)2、多线程webservice接口 (5)2.1 mdgxsend 个性短信 (5)3、多线程http接口 (8)3.1 多线程群发普通短信 (8)3.2 多线程群发个性短信 (9)请仔细阅读信息安全责任保证条款安全信息责任条款本人/本公司在使用本软件过程中,将严格遵守国家相关法律、法规、保证本公司信息发布的安全,并切实做到:(1)建立健全本公司信息发布的内部保障制度、信息安全保密制度、用户信息安全管理制度,建立健全本公司信息安全责任制度和信息发布的审批制度,严格审查本公司产品所发布信息。
(2)严格遵守《互联网信息服务管理办法》,对用户编辑的信息内容进行把关,保证信息内容的健康、合法。
(3)明确本企业的客户群和客户范围,所有通讯受众必须是自愿且明确同意接受企业服务。
(4)若发送未经用户允许的信息等所造成的影响、投诉等一切损失与本软件版权方无关、由本人/本公司承担全部责任;同时,本人/本公司也应承担若因此给本软件版权方造成的全部损失。
(5)不利用本软件制作、复制、发布、传播含有下列内容的信息:✧反对宪法所确定的基本原则的;✧危害国家安全,泄露国家秘密,颠覆国家政权,破坏国家统一的;✧损坏国家荣誉和利益的;✧煽动民族仇恨、民族歧视,破坏民族团结的;✧破坏国家民族宗教政策,宣扬邪教和封建迷信的;✧散布谣言,扰乱社会秩序,破坏社会稳定的;✧散布淫秽、色情、赌博、暴力、凶杀、恐怖或者教唆犯罪的;✧侮辱或者诽谤他人,侵害他人合法权益的;✧含有法律、行政法规禁止的其他内容的;(6)自信息发布六个月内不修改删除信息发送日志内容,日志记录的备份应至少保持6个月以上,在国家机关进行依法查询时,予以提供。
PI数据库文档说明[最新]
PI-Buffer使用文档API Node Buffer(数据缓存)起到了如下作用:当API节点与PI主节点失去通讯连接(如网络故障或PI服务器的起停与维护)时,在这期间的数据可以存入缓存文件中,当连接重新建立时把这些数据依次写入PI服务器中,以此确保了数据的完整性,提高了系统可靠性。
API-Buffer设有三级缓存,第一级和第二级设置在内存之中,第三级设置在硬盘上(默认位置C:\Program Files\PIPC\DAT\APIBUF.DAT),写入缓存采用先入先出(FIFO),顺序为由第一级向第三级逐级写入。
读取缓存中的数据全部在第一级缓存上完成,在第三级缓存中的数据被读出的过程中,数据首先被移至了第二级缓存,接着移至第一级缓存被读走。
当API-Buffer停止运行时系统会合并第一二三级缓存内容至处于硬盘上的第三级缓存处,以备后用。
API-Buffer的配置在接口机上完成,在安装了PI-API的接口机上使用PI-Buffer仅需要修改相关配置文件无需进行其他任何安装步骤。
1.打开PIPC目录下的DAT文件夹,找到piclient.ini文件(如安装在C盘,则默认位置为C:\Program Files\PIPC\DAT\piclient.ini),通过配置piclient.ini文件中[APIBUFFER]段的参数完成对buffer的基本设置,如部分参数在文件中没有显示请手动添加,相关参数设置如下:BUFFERING=1:Buffer的可用标识,置1可用0不可用;PAUSERA TE=2:当缓存为空时Buffering向PI中写数据的等待时间(秒);RETRYRATE=120:当与PI服务器失去连接后尝试连接服务器的等待时间(秒);MAXFILESIZE=1000000:第三级缓存(硬盘上)的文件最大空间(B);MAXTRANSFEROBJS=10000:Buffering向PI写数据时每次最大的事件数;BUF1SIZE=100000:第一级缓存(内存上)的文件最大空间(B);BUF2SIZE=50000:第二级缓存(内存上)的文件最大空间(B);SENDRATE=100:缓存向PI写数的时间间隔(ms);2.打开pilogin.ini文件(默认位置C:\Program Files\PIPC\DAT\pilogin.ini),配置PI服务器信息:[Services]PI1=PI[Defaults]HELPFILE=D:\PIPC\HELP\pilogin.hlpPIServer=192.168.20.100PI1USER=piadmin[PINODEIDENTIFIERS]PI1=192.168.20.100,20066,54503.配置PI-BUFFER SERVER服务打开控制面板>管理工具>服务,右击PI-BUFFER SERVER服务打开其属性页,在常规选项卡里选择启动类型为自动,如图1所示;在登陆选项卡里配置登陆身份,输入拥有管理员权限的用户名和密码,如图2所示。
仁硕电子网络设备SDK接口调用说明
仁硕电子网络设备SDK接口调用说明目录一、版本信息 0二、开发环境 0三、文件列表 0四、使用说明 01、添加引用 03、启动服务 0五、接口说明 (2)1、方法说明 (2)2、数据监听接口说明 (3)3、数据类 (4)一、版本信息表1.1.1 二、开发环境Eclipse, jdk1.7三、文件列表表3.1.1四、使用说明1、添加引用将RSNetDevice.jar导入项目工程3、启动服务1)导入包:import device.IDataListener; import device.LoginData; import device.NodeData; import device.RSServer; import device.RealTimeData; import device.StoreData; import device.TelecontrolAck; import device.TimmingAck;2)定义成员变量:RSServer rsServer;3)调用Initiate 方法初始化rsServer:rsServer = RSServer.Initiate(2404);4)注册数据监听接口:rsServer.addDataListener(new IDataListener() {@Overridepublic void receiveTimmingAck(TimmingAck data) {// TODO校时指令应答处理}@Overridepublic void receiveTelecontrolAck(TelecontrolAck data) {// TODO遥控指令应答处理}@Overridepublic void receiveStoreData(StoreData data) {// TODO已存储数据接收处理}@Overridepublic void receiveRealtimeData(RealTimeData data) {// TODO实时数据接收处理}@Overridepublic void receiveLoginData(LoginData data) {// TODO登录数据接收处理}});5)启动监听服务rsServer.start();6)停止监听服务rsServer.stop();五、接口说明1、方法说明表5.1.1.1表5.1.2.1表5.1.3.1表5.1.4.1 5)发送校时指令表5.1.5.1表5.1.6.1 2、数据监听接口说明1)receiveRealtimeData表5.2.1.1 2)receiveStoreData表5.2.2.1 3)receiveTelecontrolAck表5.2.3.14)receiveTimmingAck表5.2.4.1 3、数据类1)实时数据RealTimeData表5.3.1.1 2)节点数据NodeData表5.3.2.13)设备已存储数据StoreData表5.3.3.1 4)遥控应答数据TelecontrolAck表5.3.4.1 5)校时应答数据TimmingAck表5.3.5.1。
使用C#调用PI-SDK进行基于PI的开发
本文引至明月清风伴我行的空间使用C#调用PI-SDK进行基于PI的开发(一)——PI-SDK简介一、概述PI-SDK(Plant Information Software Develop Kit)是OSI公司提供的基于面向对象的访问PI数据库的软件开发工具包,它可以对以下数据库进行读写:²PIPoints (PI point table)²StateSets (Digital sets table)²PIUsers (User table)²PIGroups (Groups table)²PIModuleDB (Modules Database)²PIBatchDB (Batches Database)²PITransferRecords (TransferRecords Database)²Point Classes (Attribute Sets)PI SDK只有在32位Windows平台下可以使用,可以调用任何平台下的PI数据库。
二、PI-SDK对象继承图在这个对象继承图中,本人用得最多的是PIPoint了,所以,大家现在先清楚PISDK-Servers-Server- PIPoints-PIPoint这一条线,其它的以后我们再慢慢叙述。
三、关于“About PI-SDK”程序当PI-SDK安装完成后,可以在如下目录下找到此应用程序:\PIPC\PISDK\AboutPI SDK.exe通过这个应用程序可以查看PI-SDK的版本号,以及维护已知服务器列表(known servers list),测试与服务器列表中的各个服务器是否能正常连接(如下图所示,本地服务器localhost可以正常连接)。
单击Connections1)一、关于known servers list(已知服务器列表)PI-SDK创建和维护known servers lists(已知服务器列表);PI-API使用和维护\PIPC\DAT\PILOGIN.INI 中的服务器表。
PI实时数据库的OPC和API接口浅析
PI实时数据库的OPC和API接口浅析1引言随着电厂信息化要求越来越高,SIS系统的建设逐渐走上历史舞台,很多电厂开始着手搭建自己的SIS网,而SIS的核心部分就是实时数据库系统。
说到实时数据库系统,目前的产品有很多,PI是其中重要的一员,由于它先进的旋转门压缩数据技术、加上运行稳定的特点,尽管价格高昂,它还是在国内拥有很大的市场占有率。
SIS系统的另一重要组成部分是实时数据库系统与现场设备之间的接口,衡量一个实时数据库系统的优劣,其接口系统是否具有开放性、灵活性和方便性是很重要的一方面。
在这点上,P I也具备了一流实时数据库系统应该具备的特点,它提供了对OPC、ODBC以及OLE DB的支持,另外,它还有C/C++、VB环境下的SDK开发工具包和PI-API接口函数库,利用PI-API和SDK,我们可以比较方便地开发我们自己的专用接口。
在台州发电厂的SIS项目实施过程中,我们用API开发了几个专业接口(如RTU系统的接口、电量统计系统的接口等),也利用了PI的OPC接口,完成了全电厂范围的数据采集,为今后SIS系统的进一步开发打好了基础。
以下就对OPC接口的应用和API接口函数的应用做一些介绍。
2 OPC接口的应用OPC(OLE FOR PROCESS CONTROL)是一个开放性的工业标准,它是由一些世界上著名的自动化系统和硬件、软件公司和Microsoft(微软)紧密合作而建立的,是微软公司的OLE 在过程控制方面的应用。
OPC以COM/DCOM技术为基础,采用客户/服务器模式,为工业自动化软件面向对象的开发提供了统一的标准。
采用这项标准后,硬件开发商将取代软件开发商为自己的硬件产品开发符合标准的OPC SERVER程序,而软件开发者不用再关心硬件驱动方面的技术问题,只要按标准开发OPC CLIENT程序就可完成与硬件的连接,这样不但提高了系统的开放性,也提高了软件开发的效率,使软件开发人员可以有更多的精力投入到其核心产品的开发上。
PI数据库操作手册
PI数据库操作手册南京促普软件技术有限公司一安装配置信息 (3)1.1软件环境 (3)1.2配置信息 (3)1.3需安装软件 (3)1.4网络配置 (4)1.5接口配置 (4)二 PI-SMT使用指南................................. 错误!未定义书签。
2.1在E XCEL表格中添加SMT宏....................... 错误!未定义书签。
2.1.1建立SMT与PI数据库的连接...........................................错误!未定义书签。
2.2测点在数据库中的导入、导出.............................................错误!未定义书签。
2.2.1测点在数据库中的导出....................... 错误!未定义书签。
2.2.2测点在数据库中的导入....................... 错误!未定义书签。
2.2.3 删除单个测点.............................. 错误!未定义书签。
2.3备份恢复O RACLE ................................ 错误!未定义书签。
2.3备份恢复PHD .................................. 错误!未定义书签。
三点数据库......................................... 错误!未定义书签。
附录.............................................. 错误!未定义书签。
一安装配置信息1.1 软件环境安装环境:新疆特变硅业有限公司办公楼2楼机房操作系统:Windows Server 2003 Enterprise 英文版 SP2 1.2 配置信息主机名称:tbea-server2账号:Administrator密码:admin,IP地址1:172.16.1.20子网掩码:255.255.255.0IP地址2:192.168.200.2511.3 需安装软件Office 2003 SP2Oracle版本:Oracle 10gPI版本:PI 3.1本系统Oracle和PI全部安装在C盘,数据档案文件保存在D盘。
SDK使用说明书
NAM网络报警通讯模块SDK使用说明书目录目录 (2)修订说明: (3)系统介绍 (6)SDK开发包使用说明 (6)虚拟串口使用流程 (6)网络接口使用流程 (6)SDK库API函数详细说明 (6)虚拟串口接入API (6)初始化串口服务Init (6)退出串口服务 (7)键盘命令 (7)子系统键盘命令 (8)状态返回回调函数设置 (8)主机状态查询命令 (9)继电器输出控制命令 (14)继电器输出状态查询命令 (15)网络接口说明 (15)接收数据回调函数 (15)设备连接状态更新回调函数 (16)网络初始化Net_Init (17)退出Net_Exit (17)继电器输出控制命令Net_CCHCommand (17)继电器输出状态查询命令Net_CCHStateRequestCommand (18)键盘命令Net_KeyCommand (18)设备添加使能Net_AddDevice (18)设备删除Net_DeleteDevice (19)主机状态请求Net_StateRequest (19)NAM3482设备接入 (19)NAM3482设备配置状态查询 (19)NAM3482防区类型配置 (20)NAM3482防区布撤防 (20)NAM3482报警确认 (21)修订说明:1.2007年10月27日加入支持CK2316驱动代码,状态返回数据格式有所变化,为了和CK238兼容,可以通过字节长度或者回调函数中的type区别,CK2316对应type=0x02,新增两个字节为9至16防区状态,此后再扩展防区时,以此类推向后增加;2、2007年11月8日加入支持CK2316增加上传系统状态(紧急、火警、盗警),支持CK2316中旁路信息上传,在回调函数中增加旁路信息识别,type=1024时为旁路信息,增加0-1023为设备区别信息的规定,旁路信息上传将采用统一方式,一个数据位为一个防区,防区增加时,以8为基数增字节数。
PI实时数据库API,SDK接口调用说明
调用API步骤VB6:VB6代码示例:其中pilog为返回值,各个含义可以查找PIAPI帮助,举例如下:>0 System Error0 Success-1 Attempt to reconnect within 60 seconds orsocket_open has failed-994 Incompatible PINET protocol version-1001 Default host not foundVB6函数声明:'Use this function to establish a connection to the default pi home node server if calling from a pi client node.Private Declare Function piut_connect Lib "piapi32.dll" (ByVal servername$) As Long'This function logs the user into a PI Server. A login is required to gain access to protected PI data.Private Declare Function piut_login Lib "piapi32.dll" (ByVal username$, ByVal password$, valid&) As Long'This function parses the passed time string and returns the pi local time.Private Declare Function pitm_parsetime Lib "piapi32.dll" (ByVal timestr$, ByVal reltime&, timedate&) As Long'This function adds a new value to the Archive, or it replaces a value if one exists at the same time stamp.Private Declare Function piar_putvalue Lib "piapi32.dll" (ByVal pt&, ByVal rval!, ByVal iStat&, ByVal timedate&, ByVal wait&) As Long'This function returns the point number for the given tagname.Private Declare Function pipt_findpoint Lib "piapi32.dll" (ByVal TagName$, pt&) As Long'This function returns a single value and status for a specified time stamp.Private Declare Function piar_value Lib "piapi32.dll" (ByVal pt&, timedate&, ByVal Mode&, rval!, iStat&) As Long'This function sends a value to the Snapshot and Archive.Private Declare Function pisn_putsnapshot Lib "piapi32.dll" (ByVal pt&, ByVal rval!, ByVal iStat&, ByVal timedate&) As Long'This function retrieves the most recent value sent to the pi System for a particular point.Private Declare Function pisn_getsnapshot Lib "piapi32.dll" (ByVal pt&, rval!, iStat&, timedate&) As Long编程步骤:用其他语言编写接口可参考下面的步骤来实施,具体语法及API函数声明根据所用的语言来编写。
PI数据库文档说明
PI-Buffer使用文档API Node Buffer(数据缓存)起到了如下作用:当API节点与PI主节点失去通讯连接(如网络故障或PI服务器的起停与维护)时,在这期间的数据可以存入缓存文件中,当连接重新建立时把这些数据依次写入PI服务器中,以此确保了数据的完整性,提高了系统可靠性。
API-Buffer设有三级缓存,第一级和第二级设置在内存之中,第三级设置在硬盘上(默认位置C:\Program Files\PIPC\DAT\APIBUF.DAT),写入缓存采用先入先出(FIFO),顺序为由第一级向第三级逐级写入。
读取缓存中的数据全部在第一级缓存上完成,在第三级缓存中的数据被读出的过程中,数据首先被移至了第二级缓存,接着移至第一级缓存被读走。
当API-Buffer停止运行时系统会合并第一二三级缓存内容至处于硬盘上的第三级缓存处,以备后用。
API-Buffer的配置在接口机上完成,在安装了PI-API的接口机上使用PI-Buffer仅需要修改相关配置文件无需进行其他任何安装步骤。
1.打开PIPC目录下的DAT文件夹,找到piclient.ini文件(如安装在C盘,则默认位置为C:\Program Files\PIPC\DAT\piclient.ini),通过配置piclient.ini文件中[APIBUFFER]段的参数完成对buffer的基本设置,如部分参数在文件中没有显示请手动添加,相关参数设置如下:BUFFERING=1:Buffer的可用标识,置1可用0不可用;PAUSERATE=2:当缓存为空时Buffering向PI中写数据的等待时间(秒);RETRYRATE=120:当与PI服务器失去连接后尝试连接服务器的等待时间(秒);MAXFILESIZE=1000000:第三级缓存(硬盘上)的文件最大空间(B);MAXTRANSFEROBJS=10000:Buffering向PI写数据时每次最大的事件数;BUF1SIZE=100000:第一级缓存(内存上)的文件最大空间(B);BUF2SIZE=50000:第二级缓存(内存上)的文件最大空间(B);SENDRATE=100:缓存向PI写数的时间间隔(ms);2.打开pilogin.ini文件(默认位置C:\Program Files\PIPC\DAT\pilogin.ini),配置PI服务器信息:[Services]PI1=PI[Defaults]HELPFILE=D:\PIPC\HELP\pilogin.hlpPIServer=192.168.20.100PI1USER=piadmin[PINODEIDENTIFIERS]PI1=192.168.20.100,20066,54503.配置PI-BUFFER SERVER服务打开控制面板>管理工具>服务,右击PI-BUFFER SERVER服务打开其属性页,在常规选项卡里选择启动类型为自动,如图1所示;在登陆选项卡里配置登陆身份,输入拥有管理员权限的用户名和密码,如图2所示。
PI-Datalink使用说明
Data-link安装使用说明手册Data-link安装使用说明手册 (1)Data-link安装 (2)PI-Datalink使用说明 (3)1 PI-DataLink界面 (3)2 PI-DataLink属性设置 (4)3 连接PI服务器。
(5)4 查找测点 (5)5 Data-Link输入 (6)6 取出当前数据值 (6)7 取出历史数据值 (6)8 取出过去某一时刻的真实历史数据值 (6)9 求计算值 (6)10 取出测点的各种属性值 (7)11 取出测点的样本数据(指定样本数据的时间间隔) (7)12 取出测点的样本数据(指定样本数据个数) (7)13 取出测点的样本数据(指定时间段) (8)14 取出测点的样本数据(指定一系列时间) (8)15 求样本数据统计值 (8)16 求样本数据统计值(高级) (8)17 求满足表达式条件的累计时间(指定时间段) (9)附录一. 测点编码规则 (9)附录二. PI有效的时间字符串 ................................................................... 错误!未定义书签。
附录三. PI有效的条件表达式 . (10)Data-link安装从PI系统WEB服务器下载Data-link软件安装程序,运行安装程序,显示下面画面:点击“OK”,显示下面画面:系统安装完成显示完成画面软件安装完成后,请按照Data-link使用手册,加载Data-Link宏。
PI-Datalink使用说明PI-DataLink是PI系统的一个客户端产品,它的作用就是在PI实时数据库和Microsoft Excel之间建立连接,可以看作是一座桥梁。
通过PI-DataLink用户可以直接把PI实时数据库中的数据取到Excel电子表中,利用Excel的强大功能进行统计分析,编制生产报表。
下面介绍PI-DataLink的使用方法。
使用C#进行基于PI的开发(三)——应用PISDK和PIAPI从PI数据库读取数据
使⽤C#进⾏基于PI的开发(三)——应⽤PISDK和PIAPI从PI数据库读取数据上次说了这次的题⽬是对PI数据库中的数据进⾏读取和写⼊,可是为了等了这么久呢?出了⾃⼰⽐较懒以外,遇到了⼀点⿇烦也是⼀个原因呢?后⾯⼜说(⼀)应⽤SDK从PI数据库读取数据我们知道PI数据库的数据分别存储在Snapshot或者Archive中,⼀个是快照⼀个是档案⽂件,这样做是为了⽅便PI数据库对数据进⾏压缩.那么⾃然对数据库的读取也分为对Snapshot和Archive读取.snapshot和archive的值都是⽤PIValue的形式表⽰的, PIValue对象包括了数值和时间。
应⽤SDK从数据库中获取snapshop或者archive的值很简单。
⾸先连接数据库,声明⼀个PIServer:_piServer = piSDK.Servers.DefaultServer;然后利⽤PIServer的Points属性访回⼀个点的集合,再通过tagName来获取点:PIPoint pt = _piServer.PIPoints[tbxTagName.Text];如果是使⽤Snapshot,直接声明⼀个PIValue通过PIPoint的Snapshot属性来返回值:pv = pt.Data.Snapshot;然后我们就可以通过PIValue的Value属性和TimeStamp属性来获取snapshot的值和该值对应的时间了。
tbxValue.Text = pv.Value.ToString();tbxTime.Text = pv.TimeStamp.LocalDate.ToString();如果要读取Archive的值,那么要稍微⿇烦⼀点,应为你要给定读取的时间和模式,PIPoint对象的ArcValue⽅法是⽤来获取Archive的值,帮助的说明如下:object.ArcValue TimeStamp, Mode, AsynchStatus这个应该是VB的语法吧,我们可以看出他有三个参数。
java读取PI数据库测点值
public static PIClientUtil getPIClientUtil(){
return piClientUtil;
}
private PIClientUtil() {
try {
// *********************连接PI数据库**************************//
messageBox.invoke();
int ptId=p.getAsInt(0);
if(0==messageBox.getRetValAsInt()){
System.out.println("测点id:"+ptId);
messageBox = new JNative("piapi32.dll", "piar_value");
J
最近公司组织培训PI数据库,在听课之余试验了一下java直接读取PI数据库。
1.安装数据库。
安装osi,启动PIPerfMon_Basic.bat,使用process book绘制一个趋势图,加入几个例子测点,如“CDT158”,如图:
2.Piapi简介
利用PIAPI直接操作PI,安装PI数据库后会有一个piapi32.dll,提供了.net读取的接口。
import org.xvolks.jnative.pointers.memory.HeapMemoryBlock;
import org.xvolks.jnative.pointers.memory.MemoryBlock;
import org.xvolks.jnative.pointers.memory.MemoryBlockFactory;
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
调用API步骤VB6:
VB6代码示例:其中pilog为返回值,各个含义可以查找PIAPI帮助,举例如下:
>0 System Error
0 Success
-1 Attempt to reconnect within 60 seconds or
socket_open has failed
-994 Incompatible PINET protocol version
-1001 Default host not found
VB6函数声明:
'Use this function to establish a connection to the default pi home node server if calling from a pi client node.
Private Declare Function piut_connect Lib "piapi32.dll" (ByVal servername$) As Long
'This function logs the user into a PI Server. A login is required to gain access to protected PI data.
Private Declare Function piut_login Lib "piapi32.dll" (ByVal username$, ByVal password$, valid&) As Long
'This function parses the passed time string and returns the pi local time.
Private Declare Function pitm_parsetime Lib "piapi32.dll" (ByVal timestr$, ByVal reltime&, timedate&) As Long
'This function adds a new value to the Archive, or it replaces a value if one exists at the same time stamp.
Private Declare Function piar_putvalue Lib "piapi32.dll" (ByVal pt&, ByVal rval!, ByVal iStat&, ByVal timedate&, ByVal wait&) As Long
'This function returns the point number for the given tagname.
Private Declare Function pipt_findpoint Lib "piapi32.dll" (ByVal TagName$, pt&) As Long
'This function returns a single value and status for a specified time stamp.
Private Declare Function piar_value Lib "piapi32.dll" (ByVal pt&, timedate&, ByVal Mode&, rval!, iStat&) As Long
'This function sends a value to the Snapshot and Archive.
Private Declare Function pisn_putsnapshot Lib "piapi32.dll" (ByVal pt&, ByVal rval!, ByVal iStat&, ByVal timedate&) As Long
'This function retrieves the most recent value sent to the pi System for a particular point.
Private Declare Function pisn_getsnapshot Lib "piapi32.dll" (ByVal pt&, rval!, iStat&, timedate&) As Long
编程步骤:用其他语言编写接口可参考下面的步骤来实施,具体语法及API函数声明根据所用的语言来编写。
某些语言的声明可在API帮助里找到。
1.连接服务器
pilog = piut_connect(Text1.Text)
2.登陆
pilog = piut_login(Text2.Text, Text3.Text, valid)
3.读取PI位号值
3.1 查找PI位号PT号,PT号就是该位号在PI里面的point ID
pilog = pipt_findpoint(Text4.Text, pt)
3.2 获取PI时间
pilog = pitm_parsetime("*", 0, timedate)
3.3 读取该PI时间,该位号的值
pilog = pisn_getsnapshot(pt, flo, 0, timedate)
Text5.Text = flo ‘(flo变量就是PI的值)
4.写入PI位号值
4.1 查找PI位号PT号
pilog = pipt_findpoint(Text4.Text, pt)
4.2 获取PI时间
pilog = pitm_parsetime("*", 0, timedate)
4.3 写入该位号在该PI时间的值
pilog = pisn_putsnapshot(pt, flo, 0, timedate)
PI API提供一个公共的编程接口,用C/C++或VB、甚至连PI-PROCESSBOOK中内嵌的VBA 都可以对PI数据库进行数据读写。
用API开发PI的接口一般有两种方法。
一是用接口程序去控制一切与PI数据库有关的操作,这些操作包括建点和属性配置工作、数据读写工作等等,这样要用到PI-API和PI-SDK,对数据读写可以利用PI-API,建点和属性配置工作可以利用PI-SDK。
这种方法用起来比较复杂,对编程要求很高,同时由于绕开了数据库管理员对数据的管理,对数据库的安全性也构成了影响。
所以只有在特殊场合才用到这种方法。
二是借鉴OPC方式,接口程序只负责数据的读写,建点和属性配置工作放到PI服务器端由数据库管理员人工完成。
这种方式下在配置PI的点及相关属性时,比OPC方式下的配置工作要简单得多:TAGNAME与INSTRUMENTTAG可取相同名,数据类型、量程、工程单位和死区范围等可按常识配置,其它属性都可用默认值。
以下用VB为例说明PI API的大致用法。
在编程之前,先要安装OSI提供的PI-API,安装后会生成\\PIPC\LIBRARY\PIAPI32.DLL和\\PIPC\INCLUDE\PIAPI32.BAS两个文件。
然后在VB中引用上面所提的PIAPI32.BAS,将它作为一个公用模块。
准备工作完成后,就可按照以下步骤依次调用API函数,完成对PI数据库的写操作:pilg_registerapp “piapi32.dll"
注册动态连接库,否则将不能调用下面的函数pilg_login。
pilg_login(登入PI的句柄,用户名,服务器名,密码,权限)
到指定的PI服务器中注册用户,以获取存取权限。
Pipt_findpoint(标签名,点号)
根据标签名获得点号,以后程序中对该标签的引用都用这个点号。
Pipt_pointtype(点号, 点类型)
根据点号获取该点的数据类型。
Pitm_parsetime(时间戳字符串,0,时间戳值)
将常用的时间字符串转换为在PI内部所用的时间值。
Piar_putvalue(点号,实型值,整型值,时间戳值)
向PI数据库写数据。