Overview
Gas Analysis Writes are performed using a Write Request Framework; a core component of ACM that allows Gas Chromatograph write requests to be sent to end devices.
Creating Write Requests
Requests are created using the Write Request Library interface either directly or through services provided by ACM. Direct usage of the Write Request Library interface is not within the scope of this guide.
ACM provides the following services that facilitate creation of requests by specific means:
- Gas Analysis Write File Service: This service allows requests to be created from a delimited file controlled by the user. Files are managed in a configurable location on a set interval.
- FLOWCAL SCADA Request Service: This service allows requests to be created automatically by monitoring the FLOWCAL SCADA Request table. This table is named FC_SCADA_REQUEST.
- ACM GMS Parser Service for GC Download: This service allows requests to be created by importing an XML file with a specific format.
Resolving Meters
Each request contains a GCIdentifier that must match a Meter object in ACM before it can be created. Requests will fail to be created if they cannot be resolved using at least one of the following methods:
The External GC Reference (Meter Tab) matches the GCIdentifier
The External Meter Reference (Meter Tab) matches the GCIdentifier
The Meter Name (General Tab) matches the GCIdentifier
Life-Cycle of A Request
A Write Request will go through the following stages during its life-cycle:
- Request is created via the Write Request Library
- Request is processed by the Request Manager Service
- A Request OPC Item is created and sent to device protocol thread to communicate the request.
- The device protocol thread will report back to the Request Manager Service on its attempt.
- Steps a and b could be repeated depending on how Processing Retries are configured on failed attempts.
- Request is moved to an Audit table once the Request is successfully completed or can not longer be retried and has failed.
How Requests Are Processed
Requests that have been created via the Write Request Library interface (either directly or by using one of the services ACM provides) are processed by the Request Manager Service (asiGCRequestManger). This service performs the following tasks on behalf of each request:
- Manage the status of a request throughout its life-cycle.
- Limit processing of requests during configurable Blackout Periods (see below).
- Communicate with associated device protocol configured in ACM to facilitate the push of GC data to the device.
- Store an archived version of the request for audit purposes. The audit record includes the values sent and if it was successful or not.
Request Processing Diagram
Processing Blackout Periods
Blackout periods are configurable blocks of time for which processing of requests are suspended by the Request Manager Service (asiGCRequestManger). During this time, new requests can be added, but they will not be processed. Any requests that are in-process when a blackout period goes into effect, will be suspended when they timeout and are flagged for retry. When the period expires, any suspended retries as well as new requests will resume processing.
Configuration of Blackout Periods are done in the ACM Monitor in the Gas Analysis Processing Blackouts Properties section.
Processing Options
The Request Manager Service (asiGCRequestManger) can be configured to process requests at a specific time interval, create trace 'debug' entries in the ACM log and throttle requests in blocks.
Configuration of Write Processing Options are done in the ACM Monitor in the Gas Analysis Writes Properties section.
Processing Retries
The Request Manager Service (asiGCRequestManger) can be configured to attempt one or more retries with the device.
Configuration of Write Processing Retries are done in the ACM Monitor in the Gas Analysis Writes Retry Properties section.
Audit Records
Each request that has completed processing by the GC Request Manager Service will result in either Success or Failure. The GC values from this request are copied into a new Audit Record and the request is cleared from the active processing table. The records in the Audit table can be reviewed using one of the built in reports from the Reporting Tab in the Configuration Client Interface.