PI实时数据库的OPC和API接口浅析
更新时间:2023-04-21 16:37:01 阅读量: 实用文档 文档下载
- pi数据库读取数据推荐度:
- 相关推荐
PI 时时数据库 PI实时数据库的OPC和API接口浅析PI 时时数据库 PI实时数据库的OPC和API接口浅析PI 时时数据库 PI实时数据库的OPC和API接口浅析PI 时时数据库 PI实时数据库的OPC和API接口浅析
PI实时数据库的OPC和API接口浅析
1引言
随着电厂信息化要求越来越高,SIS系统的建设逐渐走上历史舞台,很多电厂开始着手搭建自己的SIS网,而SIS的核心部分就是实时数据库系统。说到实时数据库系统,目前的产品有很多,PI是其中重要的一员,由于它先进的旋转门压缩数据技术、加上运行稳定的特点,尽管价格高昂,它还是在国内拥有很大的市场占有率。
SIS系统的另一重要组成部分是实时数据库系统与现场设备之间的接口,衡量一个实时数据库系统的优劣,其接口系统是否具有开放性、灵活性和方便性是很重要的一方面。在这点上,PI也具备了一流实时数据库系统应该具备的特点,它提供了对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程序,而软件开发者不用再关心硬件驱动方面的技术问题,只要按标准
PI 时时数据库 PI实时数据库的OPC和API接口浅析PI 时时数据库 PI实时数据库的OPC和API接口浅析PI 时时数据库 PI实时数据库的OPC和API接口浅析PI 时时数据库 PI实时数据库的OPC和API接口浅析
开发OPC CLIENT程序就可完成与硬件的连接,这样不但提高了系统的开放性,也提高了软件开发的效率,使软件开发人员可以有更多的精力投入到其核心产品的开发上。
OSI专门为PI开发了能支持OPC 2.0规范的OPC CLIENT接口程序OPCINT,OPCINT是DOS环境下运行的程序,一般通过编辑并运行OPCINT.BAT来启动。配置PI的OPC接口需做两件事,一是配置OPCINT.BAT,使接口OPCINT既能从OPC SERVER取到数据,又能根据PI的需要将数据提交出去;二是在PI SERVER端配置点及相关属性。在运行OPCINT之前,需安装PI-API,安装后,在\\PIPC\目录下会生成一些有用的文件供OPCINT调用。
在配置OPCINT.BAT时,重点注意以下项的配置:
/ps=
定义数据源,可以用任意字母及组合表示。一个PI数据库可以有多个OPC接口,我们可以用此项来区分这些接口。
/id=
定义数据标记,可以用任意数字表示。
/TF=
定义表示时间的格式,一般用“ccyy/mn/dd hh:mm:ss.000" 格式。
/SERVER=
指定OPC SERVER的服务名,用HOSTNAME::SERVERNAME表示。如果OPC SERVER和OPCINT在同台机上,只需定义SERVERNAME即可。
/host=
指定PI服务器的IP地址及端口号,端口号一般用5450,用IPARRESS:5450 表示。
/f=
PI 时时数据库 PI实时数据库的OPC和API接口浅析PI 时时数据库 PI实时数据库的OPC和API接口浅析PI 时时数据库 PI实时数据库的OPC和API接口浅析PI 时时数据库 PI实时数据库的OPC和API接口浅析
定义数据刷新周期,用“时:分:秒”表示,可以定义多个,到底哪个起作用由PI数据库中点的属性LOCATION 4决定。例如
/f=00:00:01 ^
/f=00:00:03 ^
/f=00:00:05 ^
/f=00:00:10
定义了4个不同的刷新周期,当PI数据库中点tag1的LOCATION4属性等于2时,刷新周期就定成了3s。
在配置PI的点及相关属性时,重点注意以下属性的配置:
TAGNAME:标签名。
当其它应用程序从PI数据库取数据时,用它来关联数据。比如用PROCESSBOOK组态画面时,点名就必须与PI中的TAGNAME一致。
INSTRUMENTTAG:设备标签名。
OPC SERVER提供数据给OPC接口程序时,每个数据都有点名,当我们用OPC CLIENT程序去查看这些数据时,一般会看到这些点名还包含分组信息。PI数据库中点的INSTRUMENTTAG属性必须与我们在OPC CLIENT中所看到的相应点名完全一致。
POINTSOURCE:点的数据源。
POINTSOURCE与OPCINT.BAT中定义的“/ps=”项相匹配。
LOCATION1:与OPCINT.BAT中定义的“/id=”项相匹配。每个接口所涉及的数据可以在逻辑上分成若干类,LOCATION1可以起到区分这些类的作用。
LOCATION3:一般是0或1,它与OPC SEVER的工作模式有关。当OPC SERVER端主动提供数据时,该属性应置为1,否则为0。
PI 时时数据库 PI实时数据库的OPC和API接口浅析PI 时时数据库 PI实时数据库的OPC和API接口浅析PI 时时数据库 PI实时数据库的OPC和API接口浅析PI 时时数据库 PI实时数据库的OPC和API接口浅析
LOCATION4:决定数据刷新周期,与OPCINT.BAT中定义的“/f=”项相关。
其它属性较普通,根据常识去配置一般不会错。
3 API接口函数的应用
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服务器中注册用户,以获取存取权限。
PI 时时数据库 PI实时数据库的OPC和API接口浅析PI 时时数据库 PI实时数据库的OPC和API接口浅析PI 时时数据库 PI实时数据库的OPC和API接口浅析PI 时时数据库 PI实时数据库的OPC和API接口浅析
Pipt_findpoint(标签名,点号)
根据标签名获得点号,以后程序中对该标签的引用都用这个点号。
Pipt_pointtype(点号, 点类型)
根据点号获取该点的数据类型。
Pitm_parsetime(时间戳字符串,0,时间戳值)
将常用的时间字符串转换为在PI内部所用的时间值。
Piar_putvalue(点号,实型值,整型值,时间戳值)
向PI数据库写数据。
4 结束语
我们经过一段时间的开发应用,对PI的接口部分有了一定的认识。总的说来,OSI在PI的接口方面考虑得还比较周全,象OPC、OLEDB、ODBC这些常用的接口技术,它都支持,同时,用OSI提供的PI-API、PI-SDK开发的接口程序运行很稳定。另外,OPCINT所提供的运行状态信息也很丰富。
不足之处也发现几个:一是OPCINT居然还是DOS版的,在当今WIN2000、WIN XP横行的天下,OPCINT看上去太老了,它运行时提供的信息虽多,但翻看起来比较麻烦。二是OPCINT对中文字符串支持不够,一旦传送中文字符串,接口程序就会报错。不知OSI公司会不会推出新版的OPCINT,克服以上问题。
正在阅读:
PI实时数据库的OPC和API接口浅析04-21
各类规范目录大全07-26
2006年高考第一轮复习数学:10.4 排列与组合的综合问题10-27
名师指点中考物理复习三步走03-27
电压合格率统计及设备管理规定.doc04-10
铺设排体工程监理细则11-29
2020最新汉字听写大会竞赛题库及答案08-05
详解透视原理05-27
永远不要向别人解释你自己08-02
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 浅析
- 实时
- 接口
- 数据库
- OPC
- API
- 计算机数据结构的知识点
- 巧用dos命令上传文件
- 企业介绍及招商加盟
- 格尔德霉素基因工程高产菌株的构建和培养
- 小学五年级上学期班主任工作计划20xx正式版
- 12.3.1-施工现场安全防护用具及机械设备使用监督管理制度
- 高中化学教学中促进学生认识发展的驱动性问题链的设计
- 类似SHT20、SHT21数字输出温湿度传感器HTU21D
- 西藏二年级上学期语文第一次教学质量检测试卷A卷
- 烟台路考2、3、4号线以及3、4号线百度地图全景截图
- 百货商场创新营销策划
- 人教版八年级物理2-1《声音的产生与传播》专项练习(含答案) (624
- 【最新】中学语文教学工作总结
- 产业经济学王豪俊第二版第五章课后案例分析
- 组织行为学 第二讲 知觉
- 山西招警考试数学运算专练题带答案
- Orthogonal polynomial method and odd vertices in matrix mode
- C语言程序设计试题_练习题
- 德国鲁尔工业区的整治对中国东北老工业区振兴的意义
- 高中学生研究性学习成果展示 (220):粤语研究