Connecting to a PI Server¶
To connect to a PI Server you need to use the PIServer
class.
The following code connects to the default database and prints its name.:
import PIconnect as PI
with PI.PIServer() as server:
print(server.server_name)
The next step is to get a list of PIPoint
objects from the server, and
print the first ten of those:
import PIconnect as PI
with PI.PIServer() as server:
points = server.search('*')
for point in points[:10]:
print(point)
To get the data as stored in the archive for a given point, we can use the
PIPoint.recorded_values
method. The following snippet gets the data
recorded in the last 48 hours:
import PIconnect as PI
with PI.PIServer() as server:
points = server.search('*')
data = points[0].recorded_values('*-48h', '*')
print(data)
The resulting data object is essentially a decorated version of a
pandas.Series
, and can be used for any further processing.
Connecting to other servers¶
By default PIServer
connects to the default server, as reported by the
SDK. To find out which other servers are available you can use the
servers
dictionary. The keys to the dictionary
are the server names. You can get the list of server names like this:
import PIconnect as PI
print(list(PI.PIServer.servers.keys()))
To explicitly connect to any of the available servers, you pass the name of
the server to the PIServer
constructor.
import PIconnect as PI
with PI.PIServer(server='ServerName') as server:
print(server.server_name)
Note
When the server name is not found in the dictionary, a warning is raised and a connection to the default server is returned instead.