PI point value handling for source write options
- Last UpdatedApr 13, 2026
- 5 minute read
- PI System
- PI System Connector 3 3.0
- Connectors
To avoid data loss, before you make PointType edits in your source PI Server, stop data collection in AVEVA PI System Connector 3 (PSC3). After all PointType edits are made, it is then safe to restart PSC3. This ensures I PointType edits are properly processed in the Connector and the source PI Server so that data is replicated as expected.
PSC3 replicates PI point values from the source PI System to the destination PI System. PI point values can be written to the source PI System using the following write options:
-
Insert
-
InsertNoCompression
-
Replace
-
NoReplace
-
ReplaceOnly
-
Remove
For all write options, the resulting disposition depends not only on whether a value exists at the specified timestamp, but also on whether the timestamp is equal to, earlier than, or later than the current snapshot.
Writes at the snapshot timestamp affect the snapshot, while writes earlier than the snapshot affect the archive. These cases are shown separately in the disposition tables even when other conditions appear the same.
Note: When PI point compression is enabled, PI compression rules determine whether a value is archived. When compression is disabled, values are always written to the archive
Insert
Insert writes values to the destination PI Data Archive based on the point’s compression setting and whether a value already exists at the timestamp.
|
PI Point Compressing |
Value exists at timestamp |
Incoming Timestamp vs. Snapshot Timestamp |
Disposition Source PI Data Archive |
Disposition on destination PI Data Archive |
|---|---|---|---|---|
|
Yes |
Yes |
Timestamp = Snapshot |
New value added as snapshot |
Compressing rules apply. If archived on source, new value replicated. |
|
No |
Yes |
Timestamp = Snapshot |
New value added as snapshot |
New value replicated. Previous snapshot value archived. |
|
Yes |
Yes |
Timestamp < Snapshot (Out-of-Order) |
New value inserted into archive |
Not replicated or "Error: [-109] Value at This Time Already Exists |
|
Yes |
No |
Timestamp < Snapshot (Out-of-Order) |
New value inserted into archive |
New value inserted into archive |
|
No |
Yes |
Timestamp < Snapshot (Out-of-Order) |
New value inserted into archive |
Not replicated or "Error: [-109] Value at This Time Already Exists" |
|
No |
No |
Timestamp < Snapshot (Out-of-Order) |
New value inserted into archive |
New value inserted into archive |
|
Yes |
No |
Timestamp > Snapshot |
New value added as snapshot |
Compressing rules apply. If archived on source, new value replicated. |
|
No |
No |
Timestamp > Snapshot |
New value added as snapshot |
New value replicated. Previous snapshot value archived |
InsertNoCompression
InsertNoCompression behaves like Insert, except that compression is not applied when writing values.
|
PI Point Compressing |
Value exists at timestamp |
Incoming Timestamp vs. Snapshot Timestamp |
Disposition Source PI Data Archive |
Disposition on destination PI Data Archive |
|---|---|---|---|---|
|
Yes |
Yes |
Timestamp = Snapshot |
New value added as snapshot |
Compressing rules apply. If archived on source, new value replicated. |
|
No |
Yes |
Timestamp = Snapshot |
New value added as snapshot |
New value replicated. Previous snapshot value archived. |
|
Yes |
Yes |
Timestamp < Snapshot (Out-of-Order) |
New value inserted into archive |
Not replicated or "Error: [-109] Value at This Time Already Exists" |
|
Yes |
No |
Timestamp < Snapshot (Out-of-Order) |
New value inserted into archive |
New value inserted into archive |
|
No |
Yes |
Timestamp < Snapshot (Out-of-Order) |
New value inserted into archive |
Not replicated or "Error: [-109] Value at This Time Already Exists" |
|
No |
No |
Timestamp < Snapshot (Out-of-Order) |
New value inserted into archive |
New value inserted into archive |
|
Yes |
No |
Timestamp > Snapshot |
New value added as snapshot |
Compressing rules apply. If archived on source, new value replicated |
|
No |
No |
Timestamp > Snapshot |
New value added as snapshot |
New value replicated. Previous snapshot value archived. |
Replace
Replace writes values to the destination PI Data Archive and replaces existing snapshot or archive values when applicable.
|
PI Point Compressing |
Value exists at timestamp |
Incoming Timestamp vs. Snapshot Timestamp |
Disposition Source PI Data Archive |
Disposition on destination PI Data Archive |
|---|---|---|---|---|
|
Yes |
Yes |
Timestamp = Snapshot |
Snapshot replaced with new value |
Compressing rules apply. If archived on source, new value replicated. |
|
No |
Yes |
Timestamp = Snapshot |
Snapshot replaced with new value |
New value replicated. Previous snapshot value archived. |
|
Yes |
Yes |
Timestamp < Snapshot (Out-of-Order) |
New value replaced archived value |
Not replicated or "Error: [-109] Value at This Time Already Exists" |
|
Yes |
No |
Timestamp < Snapshot (Out-of-Order) |
New value inserted into archive |
New value inserted into archive |
|
No |
Yes |
Timestamp < Snapshot (Out-of-Order) |
New value replaced archived value |
Not replicated or "Error: [-109] Value at This Time Already Exists" |
|
No |
No |
Timestamp < Snapshot (Out-of-Order) |
New value inserted into archive |
New value inserted into archive |
|
Yes |
No |
Timestamp > Snapshot |
New value added as snapshot |
Compressing rules apply. If archived on source, new value replicated |
|
No |
No |
Timestamp > Snapshot |
New value added as snapshot |
New value replicated. Previous snapshot value archived. |
NoReplace
NoReplace writes values only when no value already exists at the specified timestamp.
|
PI Point Compressing |
Value exists at timestamp |
Incoming Timestamp vs. Snapshot Timestamp |
Disposition Source PI Data Archive |
Disposition on destination PI Data Archive |
|---|---|---|---|---|
|
Yes |
Yes |
Timestamp = Snapshot |
New value added as snapshot |
Compressing rules apply. If archived on source, new value replicated. |
|
No |
Yes |
Timestamp = Snapshot |
New value added as snapshot |
New value replicated. Previous snapshot value archived. |
|
Yes |
Yes |
Timestamp < Snapshot (Out-of-Order) |
New value ignored |
New value not replicated. |
|
Yes |
No |
Timestamp < Snapshot (Out-of-Order) |
New value inserted into archive |
New value inserted into archive |
|
No |
Yes |
Timestamp < Snapshot (Out-of-Order) |
New value ignored |
New value not replicated. |
|
No |
No |
Timestamp < Snapshot (Out-of-Order) |
New value inserted into archive |
New value inserted into archive |
|
Yes |
No |
Timestamp > Snapshot |
New value added as snapshot |
Compressing rules apply. If archived on source, new value replicated |
|
No |
No |
Timestamp > Snapshot |
New value added as snapshot |
New value replicated. Previous snapshot value archived. |
ReplaceOnly
ReplaceOnly replaces existing values but does not insert new ones when no value exists.
|
PI Point Compressing |
Value exists at timestamp |
Incoming Timestamp vs. Snapshot Timestamp |
Disposition Source PI Data Archive |
Disposition on destination PI Data Archive |
|---|---|---|---|---|
|
Yes |
Yes |
Timestamp = Snapshot |
Snapshot replaced with new value |
Compressing rules apply. If archived on source, new value replicated. |
|
No |
Yes |
Timestamp = Snapshot |
Snapshot replaced with new value |
New value replicated. Previous snapshot value archived. |
|
Yes |
Yes |
Timestamp < Snapshot (Out-of-Order) |
New value replaced archived value |
Not replicated or "Error: [-109] Value at This Time Already Exists". |
|
Yes |
No |
Timestamp < Snapshot (Out-of-Order) |
New value ignored |
New value inserted into archive |
|
No |
Yes |
Timestamp < Snapshot (Out-of-Order) |
New value replaced archived value |
New value inserted into archive. |
|
No |
No |
Timestamp < Snapshot (Out-of-Order) |
New value ignored |
New value not replicated. |
|
Yes |
No |
Timestamp > Snapshot |
New value ignored |
New value not replicated. |
|
No |
No |
Timestamp > Snapshot |
New value ignored |
New value not replicated.. |
Remove
Remove removes values when possible; otherwise, the write is ignored.
|
PI Point Compressing |
Value exists at timestamp |
Incoming Timestamp vs. Snapshot Timestamp |
Disposition Source PI Data Archive |
Disposition on destination PI Data Archive |
|---|---|---|---|---|
|
Yes |
Yes |
Timestamp = Snapshot |
New value ignored |
New value not replicated. |
|
No |
Yes |
Timestamp = Snapshot |
New value ignored |
New value not replicated. |
|
Yes |
Yes |
Timestamp < Snapshot (Out-of-Order) |
Value removed from archive |
Value not removed from archive. |
|
Yes |
No |
Timestamp < Snapshot (Out-of-Order) |
New value ignored |
New value not replicated |
|
No |
Yes |
Timestamp < Snapshot (Out-of-Order) |
Value removed from archive |
Value not removed from archive. |
|
No |
No |
Timestamp < Snapshot (Out-of-Order) |
New value ignored |
New value not replicated. |
|
Yes |
No |
Timestamp > Snapshot |
New value ignored |
New value not replicated. |
|
No |
No |
Timestamp > Snapshot |
New value ignored |
New value not replicated. |