1. pi数据库分为采集模块(接口机)、DA(数据库)、AF(建模用)、PI Vision(图表用)、PI域控机等。
  2. java开发需要在域内装OLEADB  PROVIDER、OLEAD(SQL DAS)、PI JDBC Driver软件。如图:

     具体网址为:https://customers.osisoft.com/s/knowledgearticle?knowledgeArticleUrl=Playbook-PI-JDBC-Driver                                                                      pi jdbc  driver具体资料:PI JDBC                                            pi  jdbc底层使用的还是pi oledb provider,所以必须了解下pi  oledb provider。网址为:PI OLEDB Provider

  3. 按照软件以后使用pi推荐的DbVisualizer连接工具测试,是否成功:https://customers.osisoft.com/s/knowledgearticle?knowledgeArticleUrl=How-to-setup-DBVisualizer-for-PI-JDBC-Driver

 成功后在项目中增加pi的jar及pom配置:

pom中:

<dependency>
   <groupId>com.osisoft</groupId>
   <artifactId>PIJDBCDriver</artifactId>
   <version>1.7.21114.1</version>
   <scope>system</scope>
   <systemPath>${pom.basedir}/lib/PIJDBCDriver.jar</systemPath>
</dependency>

pom中build增加:

<resources>
   <resource>
      <directory>lib</directory>
      <targetPath>/BOOT-INF/lib/</targetPath>
      <includes>
         <include>**/*.jar</include>
      </includes>
   </resource>
   <resource>
      <directory>src/main/resources</directory>
   </resource>
</resources>

如下图:

 5.项目增加多数据源管理:

  1. jdbc配置:
  2. 代码中增加pi  jdbc的bean:
@Bean(name="piDataSource")
@ConfigurationProperties("spring.datasource.druid.pi")
public DataSource piDataSource(DruidProperties druidProperties)
{
    DruidDataSource dataSource = DruidDataSourceBuilder.create().build();
    dataSource.setDriverClassName("com.osisoft.jdbc.Driver");
    dataSource.addConnectionProperty("TrustedConnection","No");
    dataSource.addConnectionProperty("ProtocolOrder","Https/Soap:5461,NetTcp:5462");
    dataSource.addConnectionProperty("LogConsole","True");
    dataSource.addConnectionProperty("LogLevel","0");
    return druidProperties.dataSource(dataSource);
}

6.使用pi jdbc,使用数据源切换到pi数据库查询数据

7.mapper中使用pi数据库中表的说明:

1)查询实时数据:pisnapshot为快照表,只能查询不能进行其它操作

select tag, time, value from pisnapshot

2)插入或修改数据:picomp2  picomp2个表都可,picomp比较老,建议使用picomp2。
insert into  piarchive..picomp2 (tag,value,time,status) values('zhtest',233,'2021-07-08 11:36:26',0);

update  piarchive..picomp2 set time='2021-07-06 11:36:26',value=233 where tag='zhtest';

 具体表说明见:

PI OLEDB Provider

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐