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