0
0
SCADA systemsdevops~10 mins

Modbus protocol for SCADA in SCADA systems - Step-by-Step Execution

Choose your learning style9 modes available
Process Flow - Modbus protocol for SCADA
Start: SCADA Master sends request
Request: Read/Write command + Address + Data
Modbus Slave receives request
Slave processes command
Slave sends response with data or status
SCADA Master receives response
Process data or handle error
End
The SCADA master sends a Modbus request to a slave device, which processes it and replies with data or status, completing the communication cycle.
Execution Sample
SCADA systems
Master -> Slave: Read Holding Registers (Address 40001, Count 2)
Slave -> Master: Data [123, 456]
SCADA master requests two holding registers from slave; slave replies with the register values.
Process Table
StepActionMessage ContentDeviceResult
1Master sends requestFunction: Read Holding Registers, Address: 40001, Count: 2MasterRequest sent to Slave
2Slave receives requestSame as aboveSlaveRequest received and parsed
3Slave processes requestReads registers 40001 and 40002SlaveRegisters read: [123, 456]
4Slave sends responseData: [123, 456]SlaveResponse sent to Master
5Master receives responseData: [123, 456]MasterData received and ready for processing
6Master processes dataValues: 123, 456MasterData used for monitoring/control
7End--Communication cycle complete
💡 Communication ends after master processes the slave's response.
Status Tracker
VariableStartAfter Step 1After Step 3After Step 5Final
Request MessageNoneRead Holding Registers (40001, 2)SameSameNone (sent)
Slave Registers[Unknown][Unknown][123, 456][123, 456][123, 456]
Response MessageNoneNoneData [123, 456]Data [123, 456]None (received)
Master DataNoneNoneNone[123, 456][123, 456]
Key Moments - 3 Insights
Why does the master send an address like 40001 in the request?
Because in Modbus, addresses starting with 4xxxx refer to holding registers, which the master wants to read or write. This is shown in execution_table step 1 where the master specifies address 40001.
What happens if the slave cannot read the requested registers?
The slave would send an error response instead of data. This is not shown in the current table but would replace step 4's normal data response with an error code.
Why does the master process data only after receiving the response?
Because the master must wait for the slave's reply to get the requested data. This is clear in steps 5 and 6 where the master receives and then uses the data.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, what data does the slave send back at step 4?
ARequest message
BData: [123, 456]
CError code
DNo data
💡 Hint
Check the 'Message Content' column at step 4 in the execution_table.
At which step does the master receive the data from the slave?
AStep 5
BStep 3
CStep 2
DStep 6
💡 Hint
Look at the 'Action' column for when the master gets the response.
If the master requested 3 registers instead of 2, how would the slave's response change?
ASlave would send 2 register values
BSlave would send an error immediately
CSlave would send 3 register values
DSlave would ignore the request
💡 Hint
Refer to the 'Count' in the request message and the corresponding data sent by the slave.
Concept Snapshot
Modbus protocol in SCADA:
- Master sends request with function code, address, and count
- Slave receives and processes request
- Slave replies with data or error
- Master receives and processes response
- Communication uses simple request-response cycle
- Addresses like 40001 refer to holding registers
Full Transcript
In Modbus protocol for SCADA, the master device initiates communication by sending a request message to a slave device. This request includes a function code (like reading holding registers), the starting address (e.g., 40001), and how many registers to read. The slave receives this request, reads the requested registers, and sends back the data. The master then receives this response and processes the data for monitoring or control. This cycle repeats for each communication. If the slave cannot fulfill the request, it sends an error response instead. The key is the simple request-response pattern that allows SCADA systems to read or write data from field devices reliably.