PLC Data Processor

Project Category: Software

Join our presentation

About our project

A data web application for Global Analyzer Systems Ltd. that retrieves 1 minute PLC data and validates/calculates hourly data to store in the local databases. Along with a User Interface that can manually insert one minute and one hour data and remap parameters.

In the User Interface, the user can remap parameters by using a drag and drop system where the user drags a parameter onto a location in the list and that parameter will be inserted at that location. Also, there is an edit box in each parameter so that you can swap parameters around or invalidate parameters with -1 if the user does not desire the parameter to be inserted.

Meet our team members

Thomas Vy

I am a 4th year software engineering student at the University of Calgary. Last year, I was on a 16 month internship at GEOSLOPE. While on internship, I mostly programmed GEOSLOPE’s main software, GeoStudio.

Magnus Lyngberg

I am in my final year of software engineering at University of Calgary. Prior to that I completed a 16 month internship at Lockheed Martin Canada CDL Systems.

Justin Hung

I am currently in my last year of my software engineering degree at the University of Calgary. I did a 16 month internship with Gibson at Pason Systems. During my time at my internship I learned about continuous integration pipelines and agile project management.

Gibson Dziwinski

I’m currently in my last year of a software engineering degree at the University of Calgary. I recently finished a 16 month internship at Pason Systems. And have recently started working part time during school at Showpass.

Robert Dumitru

I am currently a fourth year software engineering student at the University of Calgary. I did a 12 month internship at Suncor where I learned a lot about interacting with customers and setting up tests for our software. I currently work as a web developer at a company that does streaming.

Evan McPhee

I am currently finishing my last year in software engineering at the University of Calgary while working part time with Computer Modelling Group which is where I took a 16 month internship working with the data visualization team.

Details about our design


In Alberta there are many organizations that work in the oil industry. In our case the company that sponsored us helps companies process and monitor data, however they did not have an efficient software solution for processing this data they received from CSVs. We created a software solution that took this data from a CSV and not only stored it, so it could be viewed and evaluated later, but also validating the data. Validating the data would check the data for various conditions, for example to see if the device collecting the data was working properly. This would make it much easier for the processing of data but also increases the amount of data that could be processed at a time.


Our design automates the tedious task of validating and inserting minute data/hour data into a database. As well as adds a user friendly User Interface to change how data is represented in the database. One of the most innovative parts of our design is how we took relatively new technologies and integrated it seamlessly into a legacy system and workflow.   


The design is effective by including both manual and automated data insertion. The project includes a front end web page that allows users to insert and configure csv data from the file explorer before processing it. Once the configuration is saved, the design solution processes the data and inserts into the database.


When we started our software project our sponsor had a clear design of how our project was supposed to work. We chose to chunk our work into different stages every sprint and whenever we would finish a chunk we would contact our sponsor to make sure that we were on the right track. By having these frequent meetings with our sponsor we were able to stay on track with what functionality the sponsor wanted. So by the end our sponsor was happy with our design solution.


Our solution was very easy to implement as we took into account everything we needed to accomplish while designing the solution. Our back end takes advantage of widely used libraries to simplify reading of csv files and communicating with the database. Using a javascript framework allowed us to set up the backend to carry out long running tasks where the bulk of the work is done while the front end served a clean functional user interface for manual uploads of the CSV files. The framework we chose was designed to support this workflow which made implementation efficient and effective.

Partners and mentors

Our team would like to thank Dakshyani Raina for being our academic technical advisor for this project.

Our team would like to thank Brodie Biggar for sponsoring our project on behalf of Global Analyzer Systems.

Our team would like to thank Hugo Leite for being our TA for this course.

Our photo gallery