Skip to content

Latest commit

Β 

History

92 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ 365 Days to SCADA Engineer

A public journey from Software Developer to SCADA & Industrial Automation Engineer.

GitHub last commit Progress Status Current Focus


πŸ‘‹ About Me

Hi, I'm Salim.

I'm a Software Developer transitioning into SCADA Systems, Industrial Automation, Operational Technology (OT), and Industrial Control Systems (ICS).

Instead of learning privately, I'm documenting every lesson, practical exercise, diagram, lab, and project publicly on GitHub.

My goal is to become a job-ready SCADA & Industrial Automation Engineer while building an open portfolio that demonstrates practical engineering knowledge and continuous growth.


🎯 Objectives

Throughout this 365-day journey, I will:

  • Learn SCADA engineering from the ground up
  • Master PLC programming
  • Understand industrial instrumentation
  • Study industrial communication protocols
  • Learn industrial networking
  • Understand Industrial Cybersecurity
  • Build industrial simulators
  • Develop SCADA dashboards and HMIs
  • Work with real-world industrial control concepts
  • Create useful open-source tools for the SCADA community
  • Share my progress publicly every day

πŸ—ΊοΈ Learning Roadmap

βœ… Phase 1 β€” SCADA Fundamentals

  • SCADA Basics
  • PLC Fundamentals
  • RTU Fundamentals
  • HMI Basics
  • PLC Scan Cycle
  • Sensors & Actuators
  • SCADA Architecture
  • Industrial Communication
  • Water Tank Automation
  • Modbus RTU
  • Modbus TCP
  • OPC UA Basics

βœ… Phase 2 β€” Industrial Networking

Completed

  • Industrial Ethernet
  • Managed vs Unmanaged Switches
  • Network Redundancy
  • Ring Topology
  • Network Design
  • Communication Reliability
  • Modbus TCP vs Modbus RTU

Coming Soon

  • PROFINET
  • Ethernet/IP
  • DNP3
  • MQTT
  • Industrial Network Segmentation
  • Network Monitoring

πŸ”„ Phase 3 β€” Industrial Cybersecurity

Completed

  • Introduction to ICS Security
  • Defense in Depth
  • Purdue Enterprise Reference Architecture
  • SCADA Alarm Management
  • Historian & Data Logging
  • SCADA Dashboards & Reporting
  • High Performance HMI
  • ISA-101 Concepts

Coming Soon

  • ISA/IEC 62443
  • NIST SP 800-82
  • Secure Remote Access
  • OT Network Security
  • Industrial Security Zones & Conduits
  • Security Monitoring

πŸ”„ Phase 4 β€” PLC Programming & Control Logic

Completed

  • PLC Programming Fundamentals
  • Ladder Logic Fundamentals
  • Contacts & Coils
  • AND / OR / NOT Logic
  • Latching / Seal-In Circuits
  • TON Timers
  • TOF Timers
  • Retentive Timers
  • CTU Counters
  • CTD Counters
  • Counter Reset
  • PLC Comparators
  • Conditional Logic
  • Hysteresis Concepts
  • Analog Signals
  • 4–20 mA
  • 0–10 V
  • Analog Input Modules
  • Signal Scaling
  • Engineering Units
  • Analog Output Modules
  • Analog Control
  • Control Valves
  • VFD Control Concepts
  • PLC Interlocks
  • PLC Permissives
  • PLC Sequence Control
  • PLC States & State Transitions

Current Focus

  • PLC Sequences
  • State-Based Control
  • Equipment Feedback
  • Fault Handling
  • Advanced Control Logic

Coming Soon

  • Math Instructions
  • Function Blocks
  • Structured Text
  • PID Control
  • Advanced Sequencing
  • PLC Diagnostics
  • Fault Handling
  • Equipment Control Strategies

⏳ Phase 5 β€” SCADA Software

Planned platforms:

  • Ignition SCADA
  • Siemens WinCC
  • FactoryTalk View
  • AVEVA InTouch
  • VTScada

Topics will include:

  • SCADA Tags
  • HMI Screens
  • Alarms
  • Historian
  • Trends
  • Dashboards
  • User Management
  • Data Acquisition
  • PLC-SCADA Communication

πŸ“š Learning Progress

Day Topic Status
01 Introduction to SCADA βœ…
02 PLC Fundamentals βœ…
03 RTU vs PLC βœ…
04 PLC Scan Cycle βœ…
05 Sensors & Actuators βœ…
06 SCADA Architecture βœ…
07 Industrial Communication βœ…
08 Water Tank Control System βœ…
09 Complete SCADA Data Flow βœ…
10 Industrial Ethernet βœ…
11 Modbus TCP vs Modbus RTU βœ…
12 Managed vs Unmanaged Switches βœ…
13 Network Redundancy βœ…
14 Introduction to ICS Cybersecurity βœ…
15 Defense in Depth βœ…
16 Purdue Enterprise Reference Architecture βœ…
17 SCADA Alarms & Event Management βœ…
18 SCADA Historian & Data Logging βœ…
19 SCADA Trends, Dashboards & Reporting βœ…
20 High Performance HMI Design βœ…
21 Introduction to PLC Programming βœ…
22 PLC Contacts, Coils & Logic Operations βœ…
23 PLC Latching / Seal-In Circuits βœ…
24 PLC Timers β€” TON, TOF & RTO βœ…
25 PLC Counters β€” CTU, CTD & Reset βœ…
26 PLC Comparators & Conditional Logic βœ…
27 Analog Signals β€” 4–20 mA & 0–10 V βœ…
28 Analog Inputs, Raw Values & Scaling βœ…
29 Analog Outputs & Variable Control βœ…
30 PLC Interlocks & Permissive Logic βœ…
31 PLC Sequences & State-Based Control βœ…

πŸ“‚ Repository Structure

scada-learning/

β”œβ”€β”€ README.md
β”‚
β”œβ”€β”€ Day-01/
β”œβ”€β”€ Day-02/
β”œβ”€β”€ Day-03/
β”œβ”€β”€ ...
β”œβ”€β”€ Day-31/
β”‚
β”œβ”€β”€ Architecture/
β”œβ”€β”€ Assets/
β”‚   β”œβ”€β”€ diagrams/
β”‚   β”œβ”€β”€ images/
β”‚   └── screenshots/
β”‚
β”œβ”€β”€ Case-Studies/
β”œβ”€β”€ CheatSheets/
β”œβ”€β”€ Diagrams/
β”œβ”€β”€ Labs/
β”œβ”€β”€ Projects/
β”œβ”€β”€ Resources/
β”‚
β”œβ”€β”€ CHANGELOG.md
β”œβ”€β”€ ROADMAP.md
β”œβ”€β”€ PROJECTS.md
β”œβ”€β”€ CONTRIBUTING.md
└── LICENSE

πŸ§ͺ Hands-on Labs

Completed

  • SCADA Architecture Analysis
  • PLC Scan Cycle Exercise
  • Water Tank Process Analysis
  • Industrial Communication Mapping
  • Modbus Register Analysis
  • Industrial Ethernet Exercise
  • Network Topology Exercise
  • Purdue Model Analysis
  • Alarm Design Exercise
  • Historian Data Flow Analysis
  • Dashboard Design Exercise
  • High Performance HMI Exercise
  • Ladder Logic Basics
  • PLC Logic Operations
  • PLC Seal-In Circuit Exercise
  • PLC Timer Exercise
  • PLC Counter Exercise
  • PLC Comparator Exercise
  • Tank Level Control Logic Exercise
  • Analog Signal Analysis
  • 4–20 mA Signal Scaling Exercise
  • 0–10 V Signal Scaling Exercise
  • Analog Input Exercise
  • Analog Output Exercise
  • PLC Interlock Exercise
  • PLC Permissive Logic Exercise
  • PLC Sequence Design Exercise
  • State-Based Control Exercise

πŸ”¬ Upcoming Labs

  • PLC Fault Handling
  • PLC Diagnostic Logic
  • Equipment Feedback Simulation
  • Advanced Sequence Control
  • Math Instructions
  • Function Blocks
  • Structured Text
  • PID Control
  • Ignition SCADA Installation
  • OPC UA Lab
  • Modbus TCP Lab
  • SCADA Dashboard Development
  • Alarm Configuration
  • Historian Configuration

πŸš€ Open Source Projects

The following projects are planned as part of this learning journey.

Project Status
Tank Level Simulator 🚧 Planned
PLC Simulator 🚧 Planned
Modbus Simulator 🚧 Planned
SCADA Dashboard 🚧 Planned
Alarm Management System 🚧 Planned
Historian Viewer 🚧 Planned
Industrial Network Visualizer 🚧 Planned
PLC Scan Cycle Visualizer 🚧 Planned
OPC UA Explorer 🚧 Planned

πŸ› οΈ Technologies

Industrial

  • SCADA
  • PLC
  • RTU
  • HMI
  • Sensors
  • Actuators
  • Industrial Ethernet
  • Modbus RTU
  • Modbus TCP
  • OPC UA
  • MQTT
  • PROFINET

PLC & Automation

  • Ladder Logic
  • Contacts & Coils
  • Timers
  • Counters
  • Comparators
  • Analog Inputs
  • Analog Outputs
  • 4–20 mA
  • 0–10 V
  • Signal Scaling
  • Engineering Units
  • Interlocks
  • Permissives
  • Sequence Control
  • State Machines
  • PID Control

Software

  • Laravel
  • PHP
  • JavaScript
  • HTML
  • CSS
  • Git
  • GitHub
  • Docker

Cybersecurity

  • OT Security
  • ICS Security
  • Purdue Model
  • ISA-101
  • ISA/IEC 62443
  • NIST SP 800-82
  • Defense in Depth

πŸ“ˆ Progress Dashboard

β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

Day 31 / 365

Completed: 31 Days

Remaining: 334 Days

Overall Progress: 8.5%

Current Focus

PLC Sequences, State-Based Control & Industrial Control Logic


🧭 Current Learning Path

βœ… SCADA Fundamentals
        ↓
βœ… Industrial Networking
        ↓
βœ… Industrial Cybersecurity
        ↓
πŸ”„ PLC Programming
        ↓
πŸ”„ Industrial Instrumentation
        ↓
⏳ SCADA Software
        ↓
⏳ Industrial Projects
        ↓
⏳ Advanced ICS Engineering

Current Stage

PLC Programming β†’ Industrial Control Logic β†’ Sequence & State-Based Control

Current Topic

PLC Sequences & State-Based Control

Next Topic

Day 32 β€” PLC Fault Handling & Diagnostics


πŸ“– What You'll Find Here

This repository contains:

  • πŸ“˜ Daily learning notes
  • πŸ§ͺ Practical exercises
  • 🏭 Industrial automation concepts
  • πŸ“ Engineering diagrams
  • πŸ–₯️ SCADA architecture documentation
  • πŸ”Œ Industrial communication examples
  • 🧠 PLC programming concepts
  • πŸ” ICS cybersecurity concepts
  • πŸ§ͺ Hands-on labs
  • πŸš€ Open-source SCADA projects
  • πŸ“š Case studies
  • πŸ“– Reference materials
  • βš™οΈ Engineering best practices

πŸš€ Coming Soon

PLC

  • Fault Handling
  • PLC Diagnostics
  • Math Instructions
  • Function Blocks
  • Structured Text
  • Advanced Sequencing
  • PID Control

Instrumentation

  • Analog Signals
  • 4–20 mA
  • 0–10 V
  • Transmitters
  • Signal Conditioning
  • Calibration
  • Process Variables

SCADA

  • Ignition SCADA
  • HMI Development
  • Tags
  • Alarms
  • Historian
  • Trends
  • Dashboards
  • User Management

Industrial Communication

  • Modbus TCP
  • OPC UA
  • PROFINET
  • Ethernet/IP
  • MQTT

Cybersecurity

  • ISA/IEC 62443
  • NIST SP 800-82
  • OT Network Segmentation
  • Secure Remote Access
  • Security Zones & Conduits
  • OT Monitoring

🎯 Why This Repository Exists

Industrial Automation powers critical infrastructure worldwide, including:

  • Manufacturing
  • Energy
  • Water Treatment
  • Oil & Gas
  • Transportation
  • Utilities
  • Building Automation

This repository documents my transition from Software Development into SCADA and Industrial Automation through consistent learning, practical exercises, hands-on labs, engineering projects, and open-source contributions.

My objective isn't simply to complete 365 days.

The real goal is to develop the ability to:

  • Understand industrial control systems
  • Read and design control logic
  • Understand PLC architecture
  • Understand industrial instrumentation
  • Work with industrial communication
  • Design SCADA architectures
  • Troubleshoot automation systems
  • Build practical industrial software
  • Understand OT/ICS cybersecurity

πŸ“… Current Statistics

Category Progress
πŸ“˜ Lessons Completed 31
πŸ§ͺ Hands-on Exercises 28+
🏭 Industrial Topics 31
πŸ“Š Networking Topics 7+
πŸ” Cybersecurity Topics 7+
πŸ’» PLC Programming Lessons 11+
πŸŽ›οΈ Instrumentation Topics 5+
πŸ—οΈ Open Source Projects Planned 9
🎯 Overall Progress 8.5%

πŸ† Milestones

βœ… First 10 Days

SCADA fundamentals and industrial architecture.


βœ… First 20 Days

SCADA β†’ Networking β†’ ICS Cybersecurity β†’ HMI concepts.


βœ… Day 26

PLC programming fundamentals expanded into:

Ladder Logic
     ↓
Logic Operations
     ↓
Latching
     ↓
Timers
     ↓
Counters
     ↓
Comparators

βœ… Day 29

PLC control expanded into analog instrumentation:

Analog Input
     ↓
Raw Value
     ↓
Scaling
     ↓
Engineering Units
     ↓
PLC Logic
     ↓
Analog Output
     ↓
Actuator

βœ… Day 30

Introduced:

Permissives
     +
Interlocks
     +
Feedback
     ↓
Equipment Control

🎯 Day 31

Introduced sequence and state-based control:

IDLE
  ↓
CHECK
  ↓
OPEN VALVE
  ↓
START PUMP
  ↓
FILL
  ↓
STOP PUMP
  ↓
CLOSE VALVE
  ↓
COMPLETE

🎯 Day 50 Goal

By Day 50, I aim to build a stronger foundation in:

  • PLC programming
  • Industrial instrumentation
  • Industrial networking
  • Control logic
  • SCADA concepts
  • Equipment control
  • Industrial communication
  • Practical automation engineering

🀝 Connect With Me

GitHub

https://github.com/binsani

LinkedIn

Add your LinkedIn profile URL

X (Twitter)

https://x.com/salimbinsani


⭐ Support

If you're learning:

  • SCADA
  • PLC Programming
  • Industrial Automation
  • Operational Technology (OT)
  • ICS Cybersecurity

consider:

⭐ Starring this repository

πŸ‘¨β€πŸ’» Following the journey

πŸ’¬ Sharing feedback

🀝 Contributing ideas


πŸ“Œ Learning in Public

This repository is intentionally public.

The goal is to document:

What I learn β†’ What I build β†’ What I get wrong β†’ What I improve

Every day is another step toward becoming a practical SCADA & Industrial Automation Engineer.


"Engineering excellence isn't achieved overnightβ€”it is built through consistent learning, hands-on practice, and continuous improvement."

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors