eServiceExpress - CassiniLaw/KnowledgeBase GitHub Wiki

Introduction

Sanjel Field Data Acquisition System (aka. SFDAS) is a replacement of legacy FADS application. It not only provides the important functionalities of legacy FADS, it also evolves with current technologies and provides a better framework for future evolution.

Systemoverview

Design Consideration

  • Recognize modern technology trends
  • Compliance with company development strategy
  • Following industry best practices

Assumption and Dependencies

  • Our goal is to improve overall field operation system, not to rebuild.
  • System is built by EOS(Engineering Operation Support) and IT (Information Technology) together.
  • System will be compatible with local infrastructure development roadmap.
  • Toughbook system requirement: ** Windows 7 and Windows 10 64-bit ** .Net Framework 4.6.1 and .Net Core 2.0

Goals and Guidelines

The major goals of SFADS are:

  • Simple and intuitive to use.
  • Maintain data integrity through the whole process.
  • Maintenance free as possible.

Architecture Strategies

  • SFADS is divided to major sub-systems to separate the concerns of environmental factors.
  • Subsystems are designed by following similar interfaces to avoid the re-do efforts.
  • Adopt mature technologies to reduce the risks.

Architecture Template

architecture

Component View

Field Network Infrastructure, includes truck unit based Local Area Network (LAN) , Internet gateway, WIFI hotspot, device connectivity in the scope of field network, etc. Enterprise Network Infrastructure, includes camp/office based Local Area Network(LAN), Internet gateway, Enterprise domain controller, data center connectivity, etc. Data Acquisition Component, includes PLC data acquisition and control, local data gateway (SCM Data Collector).

Data Processing Component, includes data aggregation and analytics, real-time charting, local reporting and operation log generation, local database management, etc. (eService Express - FDAC)

Data Transmission Component, includes real-time data streaming to data center, message queue while offline, data retrieval from data center, etc. (eService Express).

Data Analytics Component, includes archive data store, data warehouse for analytics needs.

Team Responsibilities

General speaking, EOS Team covers stage 1 & 2, IT Team covers stage 3 & 4. EOS Team is responsible to build Field Network Infrastructure and Data Acquisition Component. IT Team is responsible to build Enterprise Network Infrastructure, Data Processing Component, Data Transmission Component and Data Analytics Component. Both teams work together on the communication between components and collaborate closely.

Technical Design Specifications#

Data Flow

PLC Operational Data PLC Control、ConfigData

System Operation Procedure

  1. Truck Unit Operation Procedure
    1. Start
    2. ...
  2. Toughbook Operation Procedure
    1. Toughbook powers on
    2. Windows starts up
    3. eService Express starts up as a service
      1. eService Express looks up TDMS database for unsent data
        1. If yes, send to data center when internet connection is available
      2. eService Express looks up job data file for unsent data
        1. If yes, send to data center when internet connection is available
    4. SCM Data Collector starts up and keep running in background.
      1. SCM Data Collector checks TDMS database for write privilege
        1. If error, send out notification
      2. SCM Data Collector reads PLC data and write to TDMS database @ 1HZ
  3. Field Supervisor Operation Procedure
    1. Field Supervisor opens eService Application.
    2. Field Supervisor import call sheet and create job package.
    3. Field Supervisor opens eService Express in web browser
    4. Field Supervisor enters Job Dash Board page.
      1. Field Supervisor enters configuration information of the current Job
      2. eService Express write configuration information to Config database
    5. Field Supervisor enters Job Monitor Page
    6. Job Monitor Page display the job operation charts with the data fed in TDMS database
    7. Field Supervisor completes job package.
    8. Field Supervisor sends job package to server.

System Operation Procedure

Data Dictionary

Data Location

Production: C:\EserviceR6Data\Database Support: C:\EserviceR6DataSupport\Database

TDMS Database

Database Name: SCM_PLC Table: Data

Column Name Date Type Comments
TimeStamp ‘TimeStamp’ TEXT ISO 8601
UnitID TEXT Numeric character only
JSON Text Serialized changed data

Config Database

Database Name: Config Table: WITS_SETTING

Column Name Date Type Comments
ID integer
Timestamp TEXT
JSON TEXT JSON format contains WITS parameters ON/OFF
Version Integer Not used

Table: DC_FLAGS

Column Name Date Type Comments
ID integer PK,Unique
Name TEXT Unique
VALUE TEXT
Timestamp TEXT Last ModifiedDateTime

Data Definition

Name Value Meaning Comments
WIST_STATE 0 OFF
1 ON Data Collector updates WITS connection state to client’s system at certain interval, eService Express will read the state and display on UI

Table: ESE_FLAGS

Column Name Date Type Comments
ID integer PK,Unique
Name TEXT Unique
VALUE TEXT
Timestamp TEXT Last ModifiedDateTime

Data Definition

Name Value Meaning Comments
WIST_STATE 0 OFF
1 ON Data Collector updates WITS connection state to client’s system at certain interval, eService Express will read the state and display on UI

Job Database

Database Name: LocalData Table: JOB_TAG

Column Name Date Type Comments
ID integer
JOB_UNIQUE_ID TEXT
VERSION INTEGER
JOB_START_TIME DATETIME
JOB_END_TIME DATETIME
IS_CURRENT_JOB INTEGER
IS_CURRENT_JOB TEXT
JOB_MONITOR_SETTINGS TEXT
UNIT_SELECTION TEXT
WITS_SETTING TEXT
SURFACE_LOCATION TEXT
STATUS TEXT
CLIENT_COMPANY TEXT
JOB_NUMBER TEXT
JOB_TYPE TEXT
CLIENT_ERP TEXT
SUPERVISOR TEXT
WELL_NAME TEXT
SERVICE_POINT TEXT
DOWNHOLE_LOCATION TEXT
JOB_DATE_TIME DATETIME

Table: Upload_Log

Column Name Date Type Comments
ID integer
VERSION INTEGER
COMPUTER_NAME TEXT
JOB_NUMBER TEXT
JOB_UNIQUE_ID TEXT
START_TIME DATETIME
END_TIME DATETIME
PACKING_TIME DATETIME
IS_RECEIVED_ON_SERVER INTEGER Write back after the data is transmitted
PACKING_DURATION TEXT
PACKING_SIZE INTEGER

Data Management Policy

eService Express is responsible to manage local databases. • Local database health check • Local database rebuild and recovery • Local data retention • Maintain data integrity between local copy and data center copy

SCM Data Collector will be involved in local database recovery if needed.

Communication Protocol

eService Express communicate with SCM Data Collector through shared database. Each database will have only one writer.