The NGCTT (The National Gas Company of Trinidad and Tobago) protocol module can communicate with the Allen-Bradley SLC-5/03 running the NGCTT load. Other devices that use the same command function codes may also be supported.
The first step in any history retrieval is setting the appropriate history pointer from the commands tab. This tells ACM which record to request during the first history collection. For Hourly & Daily History, the pointer stores the timestamp of the last record collected; for event history, it stores the sequence number of the last record collected.
When requesting a history record for a given meter, ACM will take the date/time stored in its hourly history pointer, compare it to the current server time, compensate for any time zone difference between server & device, and calculate the number of hours which have elapsed between pointer time & current time. It will then send that number of hours as part of the request.
When a record is returned, the record is published, and the pointer is decremented by one hour. This process is then repeated until the record returned is less than one hour old. This is considered the latest record, and collection for that meter is considered complete after publishing the record. ACM will then begin collection for the next meter assigned to the device, or, if there are no others, will mark history collection as complete for that device.
Split Records & Gap Recovery
There is also a special case. When history collection starts for a given meter, ACM will begin by requesting a record which is one hour older than the pointer value. If the timestamp of the record retrieved matches the timestamp of the last record retrieved, the record will be discarded (because ACM has already published it), and history collection will continue to the next record. However, if they do not match, the record will be published. This allows history collection to retrieve split records and recover from single record gaps in history (temporary or permanent).
Identical to Hourly History collection as describe above except that it has its own pointers, and pointers are decremented by a day.
ACM will take the sequence number stored in the event history pointer for the given meter and send it as part of the request. When the first record is returned, the record’s sequence number is stored it in the event history pointer. This process is then repeated for each record until the PLC indicates that the collected record is the latest. Collection is then stopped.
A meter configuration object is used to define the addresses at which meter configuration data are found. These addresses are configurable, but must be contiguous – with no gaps – because ACM sends a single request message for all addresses.
Gas Quality Write
NGCTT supports Gas Quality writes from a number of sources. This process is handled by the asiGCRequestManager and asiFlowCalScadaRequest services (the latter in the case of data originating in FlowCal). Several settings must be configured for this functionality to work properly.
First, the NGCTT device object must have a configured Gas Chromatograph object assigned in its GC Write Config property. The Gas Chromatograph object is used to define the destination addresses for Gas Quality Write. These addresses are configurable, but must be contiguous – with no gaps – because ACM sends a single write message for all addresses.
Second, the meter object must have its External GC Reference or External Meter Reference property set to match the external system. External Meter Reference is used for FlowCal.
After the above settings are in place, ACM will monitor the Flowcal FC_SCADA_REQUEST database table for new GC write requests. When a new request appears in the table, ACM will compare the meter number in that table to its own External Meter Reference for each meter object. If a match is found, it will consult the relevant Gas Chromatograph object to determine the write destination addresses and write the data to the device.
Alternatively, GC write can be triggered via the ACM API. The settings above are still required.