1. MODBUS & CANBUS
PRESENTED TO:
ENGINEERING DEPTT. SEPL
PRESENTED BY:
ALI RAZA
MUHAMMAD FAIZAN SALEEM
Presentation # 7
1
2. CONTENTS
Introduction of MODBUS
Master Slave Configuration
MODBUS RTU
Data Storing
MODBUS RTU Frame
MODBUS TCP/IP
CAN history
Benefits of CAN
Electrical States
CAN Frame
Application of CAN bus 2
3. OPEN SYSTEMS INTERCONNECTION (OSI)
MODEL
Conceptual and logical layout that defines network
communication used by systems open to
interconnection and communication with other
systems.
3
4. MODBUS INTRODUCTION
Serial communication protocol developed by
Modicon published by Modicon in 1979 for use with
its PLCs
MODBUS is an open protocol
The protocol describes how information is received,
how queries are responded.
In simple terms, it is a method used for transmitting
information over serial lines between electronic
devices.
4
5. MASTER SLAVE COMMUNICATION
MODBUS provides master-slave communication
between intelligent devices
Used to transmit signals from instrumentation and
control devices back to a main controller.
5
6. MODBUS TYPES
The three most common Modbus types used today
are as follows:
Modbus RTU (based on serial communication like
RS485 and RS232)
Modbus/TCP(Transmission Control Protocol)
(based on Ethernet communication)
Modbus ASCII
6
7. MODBUS RTU
Modbus RTU, data is coded in binary and requires
only one communication byte per data byte.
Modbus RTU is the most widely used industrial
protocol
This is ideal for use over RS232 or multi-drop
RS485 networks, at speeds from 1,200 to 115K
baud.
The most common speeds are 9,600 and 19,200
baud.
7
8. DATA STORED IN MODBUS
Information is stored in the Slave device in four
different tables.
Two tables store on/off discrete values (coils)
Two store numerical values (registers).
The coils and registers each have a read-only table
and read-write table.
Each table has 9999 values
Each coil or contact is 1 bit and assigned a data
address between 0000 and 270E.
Each register is 1 word = 16 bits = 2 bytes and also
has data address between 0000 and270E. 8
9. DATA STORED IN MODBUS
Each register is 1 word = 16 bits = 2 bytes and also
has data address between 0000 and270E.
9
10. MODBUS RTU FUNDAMENTALS
To enable communication with a slave device, the
master must send a message or query containing
following framing:-
Device Address
Function Code
Data
Error Check
10
Silence >= 3,5 characters
11. MODBUS FRAME STRUCTURE
DEVICE ADDRESS
Request: A master addresses a slave by placing
the slave address in the address field of the
massage.
Response: when the slave sends its response it
places its own address in the address field of the
massage.
The Device Address is a number from 0 to 247.
Messages sent to address 0 (broadcast messages)
can be accepted by all slaves
The individual slave devices are assigned
addresses in the range of 1 to 247.
11
12. MODBUS FRAME STRUCTURE
FUNCTION CODE
The Function Code defines the command that the
slave device is to execute, such as read data, accept
data, report status, etc.
Function codes are 1 to 255. Some function codes
have sub-function codes
12
13. MODBUS FRAME STRUCTURE
DATA
Request: Data field contains the additional
information which the slave must use to take the
action defined by the functional code. This can
include the items like registers , addresses quantity of
the items to be handled.. etc
Response: If no error occurs , the data field
contains the data requested
Valid codes in the range of 0 to 255 decimals
13
14. MODBUS FRAME STRUCTURE
ERROR CHECK
CRC(Cyclic Redundancy check) : Error Check is a
16-bit numeric value representing the Cyclic
Redundancy Check (CRC).
16-bit numeric value representing the Cyclic
Redundancy Check (CRC)
The CRC is generated by the master and checked
by the receiving device.
If the CRC values do not match, the device asks
for a retransmission of the message.
In some systems, a parity check can also be
applied
14
16. MODBUS FRAME STRUCTURE
REQUEST
This command is requesting the ON/OFF status of
discrete coils # 20 to 56
from the slave device with address 17.
11 01 0013 0025 0E84
11: The Slave Address (11 hex = address17 )
01: The Function Code 1 (read Coil Status)
0013: The Data Address of the first coil to read.
( 0013 hex = 19 , + 1 offset = coil #20 )
0025: The total number of coils requested. (25 hex =
37, inputs 20 to 56 )
0E84: The CRC (cyclic redundancy check) for error
checking. 16
17. RESPONSE
11 01 05 CD6BB20E1B 45E6
11: The Slave Address (11 hex = address17 )
01: The Function Code 1 (read Coil Status)
05: The number of data bytes to follow (37 Coils / 8
bits per byte = 5 bytes)
CD: Coils 27 - 20 (1100 1101)
6B: Coils 35 - 28 (0110 1011)
B2: Coils 43 - 36 (1011 0010)
0E: Coils 51 - 44 (0000 1110)
1B: 3 space holders & Coils 56 - 52 (0001 1011)
45E6: The CRC (cyclic redundancy check).
17
18. MODBUS TCP/IP
It is also a world-wide standard that serves as the
foundation for the World Wide Web. The primary
function of TCP is to ensure that all packets of data
are received correctly
IP makes sure that messages are correctly
addressed and routed
Modbus TCP/IP uses TCP/IP and Ethernet to carry
the data of the Modbus message structure between
devices
18
19. CONSTRUCTION OF A MODBUS TCP/IP
DATA PACKET
Modbus TCP/IP Application Data Unit (ADU) takes
the form of a 7 byte header and the protocol data unit
19
20. MODBUS TCP/IP
This is a Modbus variant used for communications
over TCP/IP networks, connecting over port 502.
It does not require a checksum calculation as lower
layers already provide checksum protection.
Modbus TCP/IP uses TCP and Ethernet 10 Mbit/s or
100 Mbits/s to carry the MODBUS messaging
structure
20
21. CAN HISTORY
In 1985 Bosch originally developed CAN, a high-integrity
serial bus system for networking intelligent devices, to
replace automotive point-to-point wiring systems.
As vehicle electronics became pervasive, complex wire
harnesses which were heavy, expensive and bulky were
replaced with CAN throughout the automotive industry.
In 1993 CAN became the international standard known
as ISO 11898.
Since 1994, several widely used higher-level protocols
have been standardized on top of CAN, such as
CanOpen and DeviceNet.
21
23. BENEFITS OF CAN BUS
Low-Cost, Lightweight Network
Broadcast Communication
Priority
Error Capabilities
23
24. ELECTRICAL STATES
Recessive
In the recessive state, no node (CAN device) drives
the bus. Since both ends of the long cable are
terminated (120ohm resistors across each end), the
voltage across the differential pair quickly falls to
zero.
Dominant
In the dominant state, one end of the differential
pair, called CANL, is pulled low, while the other end,
CANH, is pulled high (generally 5V or 3.3V).
Naturally this overrides the recessive state, and this
the name. 24
26. ELECTRICAL STATES
Bits on the bus
Each bit has a certain time on the bus before the
next one’s turn. The bit rate can vary, but 1Mbit is
common (1µs per bit).
Idle
When no nodes are transmitting, the bus is idle.
This is the recessive state.
A transmission starts when a node asserts a
dominant state on the bus. The first bit is the SOF
(start of frame) bit.
26
27. CAN FRAME
Everything in CAN is sent in a frame (or message).
This is essentially a packet. It consists of the
sender’s unique ID, some flags, some data, and a
CRC.
Standard (11-bit ID) frames
27
28. CAN FRAME
SOF bit
The CAN DATA frame starts with the SOF – start of
frame – bit. This is analogous to the start bit in RS-
232 style asynchronous serial. It is the bit require to
transition from idle to non-idle. The SOF bit is a
logic 0 (dominant).
Identifier-
The Standard CAN 11-bit identifier establishes the
priority of the message. The lower the binary value,
the higher its priority.
28
29. CAN FRAME
RTR (remote transmission request)
is a single bit that indicates if this is a DATA frame
(0, dominant) or a REMOTE frame (1, recessive) .
IDE (Identifier Extension)
A dominant single identifier extension (IDE) bit
means that a standard CAN identifier with no
extension is being transmitted.
29
30. CAN FRAME
r0
Reserved bit (for possible use by future standard
amendment).
DLC field (4 bits)
The DLC – data length code – field indicates how
many bytes of data this frame will contain (0-8).
CRC(cyclic redundancy check) field (15 bits)
This 15-bit CRC is used to check for any errors in
the received data.
30
31. CAN FRAME
ACK (Acknowledge)
Every node receiving an accurate message
overwrites this recessive bit in the original message
with a dominate bit, indicating an error-free
message has been sent.
END of Frame (7 bits)
The END of frame is simply a sequence of 7
recessive bits. This provides padding so that a
recently attached device can tell that the frame has
ended.
31
32. CAN FRAME
IFS
This 7-bit interframe space (IFS) contains the time
required by the controller to move a correctly
received frame to its proper position in a message
buffer area.
32
33. VEHICLES BEFORE
CAN: EXPENSIVE,
BULKY POINT TO POINT
WIRING, WIRING
HARNESSES AND MANY
CONNECTORS.
VEHICLES AFTER
CAN: SYSTEMS OF
SYSTEMS WITH
MULTIPLE CAN
BUSSES, SIMPLIFIED
WIRING HARNESSES
AND MANY FEWER
CONNECTORS
Before
CAN
After CAN
33
Notas do Editor
The Modbus frame structure is the same for requests (master to slave messages) and responses (slave to master messages).
TCP/IP refers to the Transmission Control Protocol and Internet Protocol, which provides the transmission medium for Modbus TCP/IP messaging.
Information that is delivered as a unit among peer entities of a network and that may contain control information, such as address information, or user data.