Skip to content

Connor McCary's Notebook

Hayden Cook edited this page May 7, 2026 · 1 revision

Fall 2023

August

Week of 8/21

  • First week of the semester: introduced to team and discussed team overview and outlook for the semester.
  • From the subteam, descriptions I researched some of the technologies we would be using, such as ROS, HELICS, GRIDLAB-D, GitHub.
  • I chose to pursue Device-Modeling subteam.

Week of 8/28

  • Second team meeting of the semester: We split into our respective subteams and agreed upon a subteam meeting time of 7:00 PM on Mondays.
  • We agreed that our initial goal is to research the problem domain, which basically means to learn as much as possible about substations.
    I reviewed this high-level overview of substation operations and technologies.

    https://www.nationalgrid.com/stories/energy-explained/what-is-a-substation
    Findings:
  • substations play key part in effectively transmitting electricity
  • main role is to convert electricity into different voltages
  • contain specialist equipment that step up or step down voltage via transformers
  • two common types of substations: transmission substations and distribution substations
  • transmission substations are found outside of power generating stations; converts levels received into suitable amounts for transmission
  • distribution substations: lower voltages to useable levels for homes and businesses
  • Also contains specialist equipment that prevents local network failures or power cuts; caused by overload of current in the network, mechanical failure, or adverse weather

September

Week of 9/4

  • In our subteam meeting, we divided the tasks for our Kickoff Presentation. This week I spent time putting together the project roadmap which detailed our iterative goals/milestones throughout the semester. Briefly we broke down the next few steps as
  1. research: current stage we are in; build up conceptual model of substation
  2. modular development: independently prototype basic structures and functionality of substations via code
  3. aggregation: combine these components into larger arrangements
  4. simulation: simulate the co-operation of these components

Week of 9/11

My research for this week included reviewing OSHA's glossary of substation components:

https://www.osha.gov/etools/electric-power/illustrated-glossary/sub-station
Findings:

  • Responsibilities of a substation are to switch generators, equipment, and circuits/lines in and out of a system
  • change AC levels or DC to AC and vice versa
  • Step-Up Transmission Substation: increase voltage for transmission to distant locations; transmission
  • Step-Down Transmission Substation: located at switching points in the electrical grid; source for subtransmission or distribution lines
  • Distribution Substation: located near end-users; change transmission or subtransmission voltage to lower levels for use by end-users

My understanding is that we are modeling a transmission substation, but for future semesters, it could be expanded to distribution substations as well.

Week of 9/18

Note for future reference:
Proper way to update repository

git pull
make
make install

Additionally, remember to run nix develop

Week of 9/25

I successfully ran the Gridlab-D simulation with ./run_example.sh. For reference, I am using an Intel x86 Mac, while my teammates on different OS had difficulties running the example. In class, we discussed the upcoming IPR1 presentation and the midterm paper.

For research this week, I watched
Identify Equipment in a Substation
which gave me a better mental model and the ability to identify different components and their functionality when actually looking at substations.

October

Week of 10/2

In our subteam meeting, we reviewed the rubric for the IPR1 presentation. We compiled a outline document and a slide deck for our presentation. My individual task within the assignment was to put together a slide on how we will be using Gridlab-D to support the co-simulation of the grid.
Findings:

Analysis and Visualization:

  • Gridlab-D allows us to visualize our simulated processes and sensor data.
  • This allows us to verify the behavior/performance of our model in real time.

Modular Representation:

  • In GLD, we can create detailed distribution system components
  • We can model transformers, circuit breakers, switches, and protection devices

Data Exchange:

  • We will exchange data from GLD with simultaneously running Python scripts, such as voltage and current measurements, control signals, and other relevant information
  • The Python scripts will use this information to update the states of the internal components of the substation and the behavior of the system.

Week of 10/9

Following the completion of IPR1, this week's meeting primarily centered around charting the future course for our project. Considering the valuable feedback received during the IPR1 presentation, our discussions delved into refining the project direction, addressing technical challenges, and strategizing our approach for the upcoming midterm paper draft, especially with the extended deadline to October 19th, post the Fall break.

Given the extended deadline to October 19th due to Fall break, our team focused on refining and drafting the midterm paper. We allocated specific sections to individual team members for detailed write-ups, emphasizing clarity and coherence in presenting our project's progress and future milestones.

My responsibilities for the paper include:

  • Provide an introduction to your research topic, its significance, and the objectives of your study. Mention the research questions or hypotheses you aim to address.
  • Description of OOP-Powered Simulation Model Repository

Week of 10/16

This week I worked on the final touches for our midterm paper before the looming deadline. I dedicated considerable time refining my assigned section, aiming for accuracy and depth in its content. I read the following articles for reference.

Spiceworks Article on OOP:
https://www.spiceworks.com/tech/devops/articles/object-oriented-programming/#:~:text=Object%2Doriented%20programming%20(OOP)%20is%20defined%20as%20a%20programming,the%20usual%20logic%2Dbased%20system.

Kyle Shevlin's Article on Simulation Pattern:
https://kyleshevlin.com/simulation-pattern

Week of 10/23

This week, our focus within the Device Modeling Subteam was to outline the project roadmap leading up to IPR2. Our aim is to adhere strictly to a fail-hard, contract-based approach for device modeling. This approach prioritizes immediate error reporting when encountered, aligning with the principles of Design by Contract (DbC). This strategy simplifies debugging processes and upholds the integrity of contract conditions.

Project Outline:

Task 1: Co-Simulation Environment Setup (Completed)
Successfully set up the co-simulation environment and executed the simple_gridlabd_example, marking a completed task.

Task 2: Circuit Breaker
Objective: Develop a model for the circuit breaker capable of opening and closing to safeguard the grid against faults. Ensure the model effectively responds to signals from protection relays.

Task 3: Transformer
Objective: Create a model that accurately mirrors the behavior of a transformer in response to changing tap settings. Implementation of the ability to adjust tap settings based on commands from the bay controller.

Task 4: Bay Controller
Objective: Integrate the bay controller with models for circuit breakers and transformers.

Task 5: Protection Relay
Objective: Develop a model for protection relays to detect and respond to faults within the grid.

Task 6: Voltage Monitoring and Reporting
Objective: Implement voltage monitoring functionality for devices such as transformers and circuit breakers. Creation of a reporting mechanism to transmit voltage data to the bay controller.

Task 7: Integration Testing
Objective: Collaborate with the Co-simulation Subteam to validate device models within the co-simulation environment. Verification that the models respond appropriately to voltage variations.

Week of 10/30

This week, I accomplished Task 3 within the Device Modeling Subteam, which involved crafting a model for the transformer. The primary focus was on accurately reflecting its behavior in response to changing tap settings. Additionally, I worked on laying the groundwork for future functionality, aiming to enable adjustments to tap settings based on commands originating from the bay controller.

Link to commit: https://github.com/cps-vip/cps-cosimulation-env/commit/0eeca77f5839f7f71315d1cc7a5138969dcf643c

November

Week of 11/6

This week, I continued my work within the Device Modeling Subteam, focusing on modeling substation components. In our team meeting, we created of a research document to compile findings and results for the final draft of our research paper.

One of the key topics we discussed in detail during the meeting was the formulation of a modeling scenario. The scenario description focuses on evaluating the performance of a substation concerning voltage regulation, particularly during nighttime when the electrical power system encounters challenges due to voltage fluctuations. The simulation aims to assess the substation's capability to maintain voltage within acceptable limits, especially during peak periods or unexpected load variations.

Researched Incoporating Design By Contract: https://python.plainenglish.io/design-by-contract-in-python-44db6e899db2

Week of 11/13

This week, following the implementation of the transformer model, my focus shifted towards researching on unit testing methodologies and creating simple demos.

Reference: https://www.dataquest.io/blog/unit-tests-python/

Considering employing Test Driven Development for the modular components. Tests closely resemble required behaviors of components. https://www.browserstack.com/guide/what-is-test-driven-development#:~:text=Test%2Ddriven%20development%20(TDD)%20is%20a%20software%20development%20practice,and%20then%20refactoring%20the%20code.

Week of 11/20

Week of Thanksgiving.

Week of 11/27

This week, I created a demo for the transformer model. It shows how adjusting the tap position affects the secondary voltage using the turn ratio. This demo helps illustrate how the transformer works and how changing taps impacts voltage regulation.

Link to commit: https://github.com/cps-vip/cps-cosimulation-env/commit/deb0fdbd1b14d3832c0df18445ae324f67a736a2

Also, I spent time making slides for our final presentation. One slide, "Device Modeling Milestones: IPR1 to Present," shows all the devices we've built so far. Another slide, "Key Takeaways & Future Plans - Device Modeling," summarizes what we've learned and outlines our future plans. Screenshot 2023-12-07 at 8 36 29 PM Screenshot 2023-12-07 at 8 36 42 PM Screenshot 2023-12-07 at 8 36 56 PM Screenshot 2023-12-07 at 8 37 05 PM

December

Week of 12/4

I focused on my contributions to the final research paper this week, specifically working on two sections:

Introduction
I edited the introduction section for our research paper. This part aims to provide an overview of our research topic, emphasizing its significance and outlining the study's objectives. In this section, I've highlighted the research questions or hypotheses we aim to address throughout the paper.

Section 5.2: Enhanced Device-Communication Integration
This section delves into the enhanced integration of device communication protocols using PyModbus, DNP-3, and IEC 61850. It emphasizes how these protocols contribute to improved communication and coordination among devices within our system.

References:

https://pymodbus.readthedocs.io/en/latest/source/readme.html
https://www.dnp.org/About/Overview-of-DNP3-Protocol
https://www.tandfonline.com/doi/abs/10.1080/02564602.2018.1476191

Active Notebooks
Archive
Tutorials

Clone this wiki locally