Overview of the Server-to-Server Collector
The Historian Server-to-Server collector allows you to collect data and messages from a source Historian server to a destination Historian server, a Predix Time Series instance, an Azure IoT HUb instance, or an MQTT endpoint such as AWS IoT Core. The Server-to-Server collector includes many of the features of the Calculation collector. The primary difference is that the Server-to-Server collector stores the result in a destination tag on the destination server, whereas the Calculation collector reads and writes to the same server.
The Server-to-Server collector can also run as a stand-alone component where both the source and destination Historian databases are on remote machines.
- The calculation formula for the destination tag is executed.
This typically involves fetching data from one or more tags on the source server.
- A raw sample or calculation error is determined.
You can use conditional logic in your calculation formula to determine if a sample should be sent to the destination.
- The raw sample is delivered to the destination server, utilizing store and forward when necessary.
Message replication, if enabled, is event-based. Messages and alerts are sent to the destination server as they happen.
- When a tag is added by browsing, only certain tag properties are copied from the source tag to the destination tag. Consider what properties are necessary for your application and configure them manually. For information on which properties are copied, refer to Tag Properties that are Copied.
- If you change a tag property on the source tag (EGU Limits, descriptions, and so on), the property does not automatically change on the destination tag. You can manually change the properties of a destination tag.
Data Flow in Multiple Server-to-Server Collectors
Data Flow in Bi-directional Server-to-Server Collectors
Feature | Capability |
---|---|
Browse Source for Tags | Yes |
Browse Source for Tag Attributes | Yes |
Polled Collection | No |
Minimum Poll Interval | No |
Unsolicited Collection | Yes |
Timestamp Resolution | Yes - 100 milliseconds |
Data Compression | Yes |
Accept Device Timestamps | Yes |
Floating Data Point | Yes |
Integer Data | Yes |
String Data | Yes |
Binary Data | No |
Allows VB scripting | No |
Python Expression Tags | No |
Licensing
When the destination server is Proficy Historian, the Server-to-Server collector requires licensing on the destination machine. This means that the destination Historian server must be licensed for the Historian Enterprise edition, have the Enterprise Collectors option licensed, or be a Historian Edge server. It is similar to any other collector. The destination machine will have the Server-to-Server listed in its collector list.
Interface Name
<source Historian server>_To_<destination Historian server>
- We recommend that you install the Server-to-Server collector on the source Historian machine. When you do so, the collector can preserve the collected data (store and forward) even if the collector and the destination server become disconnected.
- Collection on a tag-by-tag basis is preferred, according to scheduled poll times or upon data changes. One sample is collected for each trigger.
- The Server-to-Server collector can perform calculations on multiple input tags as long as the input tags are on the same source Historian.
- Use polled triggers to perform scheduled data transformations like daily or hourly averages. Use unsolicited triggers to replicate data in real time, as it changes.
- Use event-based triggers to replicate data throughout the day. The samples can be held ingoing an outgoing store and forward buffer when necessary. You cannot schedule batch replication of raw samples. For example, you cannot, at the end of the day, send all raw samples for tags to the destination.
- All input source tags for the calculations must originate from the source
archiver. For instance, you cannot directly add a tag from
server1
plus a tag fromserver2
and place the result onserver2
. You could, however, collect tags fromserver1
toserver2
, and then use the Calculation collector or the Server-to-Server collector to accomplish this. This requires two Server-to-Server collectors, one running on each machine. You could also use the Historian OLE DB provider.
- If you enable alarm replication, the alarm data is sent to the destination server. However, alarm filtering is not available in the Server-to-Server collector.
- You cannot configure bi-directional message replication.