Modbus Based Control System
Transcript of Modbus Based Control System
![Page 1: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/1.jpg)
TABLE OF CONTENT:
SR.NO TITLE PAGE
NO.
I LIST OF FIGURES 6
II LIST OF TABLES 7
1. SYNOPSIS 8
2. LITERATURE SURVEY 9
3. INTRODUCTION 10
4. SYSTEM SPECIFICATION 12
5. BLOCK DIAGRAM 14
6. BLOCKWISE DESIGN 15
7. DESIGN APPROACH
1)SERVER
2)RS485 IMPLEMENTATION
3)SCADA SYSTEM
16
8. HARDWARE DESIGN 19
9. SOFTWARE DESIGN 29
10. APPLICATION 48
1
![Page 2: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/2.jpg)
11. TESTING 50
1 2. FUTURE SCOPE 54
13. BIBLIOGRAPHY 55
14. APPENDIX 56
15. CIRCUIT DIAGRAM 62
16. DATA SHEETS 69
2
![Page 3: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/3.jpg)
I. LIST OF FIGURES
Figure5.1 Block diagram DCS……………………………………………………..14
Figure 6.1
to 6.4 Internal Block diagram of all modules…………………………….…..15
Figure7.1 DCS system flow chart…………………………………………….……16
Figure8.1 power supply design……………………………………………….……20
Figure8.2 RS485 biasing circuit……………………………………………….…...24
Figure8.3 Driver circuit for Buzzer……………………………………….………...25
Figure8.4 Signal conditioning circuit……………………………………………….27
Figure9.1 Network layer…………………………………………………….……....30
Figure9.2 Modbus Transaction diagram…………………………….…….………36
Figure9.3 ………….….………37
To 9.8 Flowcharts of various functions ……………………………..to…....42
Figure9.9 RTU frame………………………………………………………………..45
Figure10.1 Application block diag……………………………………………..…….48
Figure14.1 Modbus protocol &ISO model comparison…………………….……...56
Figure14.2 Modbus Frame…………………………………………………………...58
Figure14.3 Address rule……………………………………………………………...58
Figure14.4 4 wire Topology for RS485……………………………………………..59
Figure14.5 CRC calculations………………………………………………………...59
Figure15.1 Module C………………………………………………………………….63
Figure15.2 Module B………………………………………………………………….64
Figure15.3 Module A………………………………………………………………….65
Figure15.4 Module D………………………………………………………………….66
3
![Page 4: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/4.jpg)
II. LIST OF TABLES
Table9.1 System supported functions……………………………………………30
Table9.2 Exception code…………………………………………………………..31
Table9.3 Address allotment of Module A………………………………………...43
Table9.4 Address allotment of Module B…….…………………………………..43
Table9.5 Address allotment of Module C………………………………………...44
Table14.1 Primary table………………………………………………….…………..57
Table15.1 Components & Bill…………………………………………………...60,61
4
![Page 5: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/5.jpg)
1. SYNOPSIS
Modbus based Distributed control System (DCS)
Domain: Industrial process automation. Hardware Platform: 8-bit microcontroller. Programming Language: Embedded C. Application layer protocol: Modbus Protocol (A de-facto Industrial Application
layer protocol),SPI. Physical Layer Interface: RS-232, RS-485. Parameter monitoring SCADA
System will continuously monitor the temperature and stores the value in its internal memory. On receiving a Modbus command from the PC based software / Control system with specified formatted protocol will send the read value as a Modbus response.
A temperature can be set through the PC based software which can send indication over Modbus at some other remote place.
A 24V to 5V DC/DC Converter is used to power up the system.
According to alarm Trigger Pt. Setting Buzzer & Led’s will indicate.Control over all 3 modules from module D or Master is over MODBUS-RS485.
5
![Page 6: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/6.jpg)
2. LITERATURE SURVEY
To get basic knowledge about “Modbus protocol”, we referred following Web resources:
1. www.MODICON.com
2. www.wikipedia.com
3. www.google.com.
After getting used to with protocol, we started from Physical layer which tells about topology, for that we referred Application Note[AN002] from www.modicon.com,[Mazi] and [JanS] .
For RS232 we referred: Application note [AN723],[AN2020] from www.maxim.com.
For RS485 we referred: Application note[AN1063],[AN736],AN[723] from www.maxim.com. & [SLLA272B] from www.TI.com
Power supply design concepts were found from [Boye].
Moving further towards upper layers, we decided to implement system modules using Atmega32 controller, which is 8-bit controller from AVR family. To study this we referred [DhanG].
Software tools used:
IDE: AVRSTUDIO4, Compiler: WINAVR, Downloader: FreeIsp,
Ref: Manual: doc2510, doc1019.
While working on UART again [JanS] was useful.
To Implement Application layer with device profile
Ref: Application Note [AN001], [AN003]
6
![Page 7: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/7.jpg)
3. INTRODUCTION
Name of project: Our project is named as “Modus based Distributed Control System”. It is
basically a model which just demonstrates system
Need of project: In industries there are certain processes where human intervention is not possible due to harsh environmental conditions and criticality of application, but at the same time physical parameter like temperature, pressure, air flow etc. have to be monitored and controlled. Remote monitoring and controlling is must in such cases, which is RTU .
Our system is a RS-232/ RS485 based temperature transmitter can read the surrounding temperature, send this data over Modbus protocol to the PC based software or a PLC control system which controls it.
A distributed control system (DCS) in which the controller elements are not central in location (like the brain) but are distributed throughout the system with each component sub-system controlled by one or more controllers
DCS is a very broad term used in a variety of industries, to monitor and control distributed equipment.
Why MODBUS?
1)It is openly published and royalty-free
2)Relatively easy industrial network to deploy
3)It moves raw bits or words without placing many restrictions on vendors
7
![Page 8: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/8.jpg)
Basic idea & approach:
we are going to develop distributed control system
Which consist of 4 modules->master taking service from 3 slaves (Servers).
Master-> pc : module D.
Slaves->Module A: Temp module
• Module B: Generic module
• Module C: Alarm & process status indicator .
• They all will communicate using Modbus protocol over RS-485.
Module-D
Is PC based Modbus Master running SCADA - supervisory control and data acquisition systems
Module-A
System will continuously monitor the temperature and stores the value in its
internal memory. At particular trigger point of temperature set by master alarm
module will come in picture.
Module-B
Generic module is universal sensing device. User also has to feed data read in
the form of 0-5v and conversion factor.
Module-C
This module consists of two parts
1) To indicate exceeding of trigger point temperature .
2) For the purpose of controlling part 3LED’s are provided to show different
works or functions.
8
![Page 9: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/9.jpg)
4. SYSTEM SPECIFICATION
Power I/P: 230 v ac, 50Hz
1)Module A: Intelligent Temperature Sensor Module
Temp Range: 0 to 100˚C
Display: 16x2 Character Display
Communication port: Modbus over RS485 (TWI).
Resolution : 0.1˚C
2)Module B: Generic Analog I/P Module
Variable I/p: 0 to 5v simulating any physical quantity
Display: 16x2 Character Display
Communication port: Modbus over RS485 (TWI).
Resolution: 10bit
3)Module C:Alarm & process status indicator
Communication port: Modbus over RS485 (TWI)
Two Alarm Signals:
Visuals: 3 LEDs .
Audio: Buzzer .
4) RS232-Rs485 Converter
2 communication port: RS232/RS485
RS 485-2 wire configuration
9
![Page 10: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/10.jpg)
Calculated Termination Resistance
5) Module D: PC Based mini SCADA System
VB/Turbo c Based Front End s/w
Communication: Modbus Master over RS 232
Data Logging Facility
Alarm Trigger Pt Setting
Monitoring Parameter
6) UART:
Baud Rate Supported (bps):4800, 9600, 19.2k, 38.4k, 57.6k, and 115.2k
Data Bits: 7, 8
Parity: N, 0, E
Stop bits: 1(for E), 2
Flow Control: None
Domain: Industrial process automation.
Hardware Platform: 8-bit microcontroller.(ATMega32)
Programming Language: Embedded C.
Application layer protocol: Modbus Protocol
Physical Layer Interface: RS-232, RS-485.
Data Link Layer Interface: UART
Parameter monitoring Software using
(PC based Mini SCADA system) : VB 6.0 / VC++.
10
![Page 11: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/11.jpg)
5. BLOCK DIAGRAM
LT1
D: MODBUS Master
B: MODBUS Slave
A: MODBUS Slav
C: MODBUS Slave
LT2
Fig 5.1
11
Generic
Device
Alarm and process status indicator
Temperature Module
PC
(SCADA SYSTEM)
RS RS
- -
232 485
![Page 12: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/12.jpg)
6. BLOCKWISE DESIGN
1) MODULE A: Temp Module
A TTL
B
Fig 6.1
2) MODULE B : Generic device
A
TTL
B
Fig 6.2
3) MODULE C: Alarm and Process status indicator
A TTL
B
Fig 6.3
4) MODULE D: PC based mini SCADA system
A
RS232 TTL
B
Fig 6.4
12
TTL to 485
ADC TEMPRATURE SENSOR
Controller
TTL to 485
ADCController 0 to 5V analog I/p
TTL to 485
Controller Led’s &
Buzzer
PC
Serial port
RS232
Db9-plug
232
To TTL
UART
TTL to 485
![Page 13: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/13.jpg)
7. DESIGN APPROACH
System is broadly divided in 3 parts
1) SERVER
2) RS485 implementation
3) SCADA system
13
SLAVE BOOTING PROCESS
MASTER BOOTING
POLL FOR SLAVE DEVICES
SET CONDITION FOR ALARM
START MONITORING THE PROCESS
CHECK FOR
CONDITION
SET ALARM OR LED’S
Fig 7.1
DCS system Flowchart ->
YES NO
![Page 14: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/14.jpg)
1) SERVER
Hardware approach :
These are modules A,B&C
In which common requirement s are
• 8-bit microcontroller->AVR ATMEGA32 selected
• Power supply ->230v to 9v conversion.
For the purpose of testing of various interfaces like
1) Ttl-Rs232
2) Downloading section
3) Display unit
4) ADC interface
& many more
A unique Development board built around ATmega32 Is required.
Module a)
1) Sensor selection according to resolution and range->LM35
2) Signal condition circuit-
3) LCD interface
Module b)
To make it user friendly, Menu driven->tactile switches & LCD
Device protection circuitry
Module c)
14
![Page 15: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/15.jpg)
Hooter and led indicator.
Logical approach:
Module b) module will show 2 modes on display
1) Program mode
User can select parameter to be sensed & its convergent
factor
2) Run mode
Run mode is common for all modules or server
It just means server waiting for command from client & eager to respond.
2) RS-485 implementation
1) For level conversion needed for slaves ->
RS485 –TTl Transceivers (for slaves)
2) For level conversion needed for master ->
RS232-RS485 ->
A) RS232 to TTL and TTl to RS485 transceiver
B) RS232 to RS485 transceiver
3) Termination resistance selection->
3) SCADA system
1) Modbus Master- slave driver implementation
Programming language-visual basic
2) Graphics User Interface
15
![Page 16: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/16.jpg)
8. HARDWARE DESIGN
16
![Page 17: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/17.jpg)
1) POWER SUPPLY DESIGN
0 . 3 3 u F
U 2L M 7 8 0 5 C / TO
1 3
2
I N O U T
GN
D
6 0 0 u Fregulated
- +
1 N 4 0 0 72
1
3
4
Vout=5V
Vin=24VDC
0 . 1 u F
Fig 8.1
As shown in above diagram;
Bridge rectifier:
I/P=24V.
It is commonly used circuit for large amount of DC power. At one time two diodes conduct simultaneously. We are using 1N4007 diodes.
Voltage drop=0.7*2=1.4V
So O/P of bridge rectifier is
24-1.4=22.6V.
Filters:
A circuit that removes ripples from a rectifier output without affecting DC voltage is known as filter.
We are going to use capacitor filter. We will assume ripple factor as 5%.
We know;
Ripple factor= r=Vr(rms)/Vdc.
=Idc/4*31/2*f*C*Vdc
17
![Page 18: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/18.jpg)
=1/4*31/2*f*C*RL
Substituting values;
0.05 =1/ 4*31/2*f*C*RL
Now we have for our modules;
Idc=150mA
RL=5/150mA=33.33ohm
So we have
0.05= 1/ 4*31/2*f*C*33.33 C = 1732uF.
C=2200uF (standard).
IC7805:
From datasheet we have;
1. Wide input range: 7-35V
2. Max current capacity:1A
3.Output voltage : 5V regulated..
Then i/p of IC 7805 ;
Vdc=22.6v (I/P range for ic 7-35V)
Capacitors Cin and Co are used at input and output side of IC….
Need of capacitor:
1. Capacitor Cin filters out effects of stray inductance of input wire.
2. Output capacitor is generally not used but it improves the transient of Regulator.
Power dissipation consideration:
18
![Page 19: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/19.jpg)
We know from datasheet IC has max. PD=2W.
We know
Power dissipation =(Vin-Vout)*Io.
We have
Io=150mA and Vin to 7805=22.6V
For max.2W PD we need
Vin-Vout=2W/0.5
=4V
But we have Vin-Vout =17.6V
So in our case PD will be
PD=17.6*150mA
PD =2.64W
Since we have more PD we NEED heat sink…
We are going to use general 25x50 mm Heat Sink which dissipates
power up to 3 watts.
19
![Page 20: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/20.jpg)
2) Controller selection (ATMega32)
• 8-bit Microcontroller
• Advanced RISC Architecture
• Large amount of In-System Self-programmable Flash program memory
• At least 1K Bytes EEPROM
• Inbuilt 8-channel
• 10-bit ADC Programmable Serial USART
• Baud Rate achievable 115Kbps @ Fosc=3.6864MHz With 0% error
• Sophisticated IDE, Software tools like compiler, library
• Free downloading circuit and software
• Availability of prototype board
20
![Page 21: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/21.jpg)
mV between A and B data line.
Fig 8.2
As we know that using modbus we can connect up to 32 devises. so RS485 can have at max
32 nodes. In our case we are going to use 3 slaves and 1 master. So we have 4 RS485 Nodes.
21
![Page 22: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/22.jpg)
Each RS 485 node has load impedance of 12K. so for such 4 nodes in parallel give load of 3k.
Minimum requirement of voltage between terminals A and B=200mV.
So to maintain this voltage the bias current required to flow through load is given by
Bias current=200mV/(120||3K||120)
Bias current =3.4mA
Now to calculate bias resistance value we have;
3.4mA=5V/(2R+(120||3K||120))
2R+59=5V/3.4mA
2R+59=1470
2R=1411
R=705 ohm.
Value used=700 ohm
4) Transistor driver circuit for buzzer
5 V
B C 5 4 7
1
2
3
L S 1
B U Z Z E R
1
2
5VR 2
4 7 K o h m
4 0 0 o h m
Fig 8.322
![Page 23: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/23.jpg)
For 5V supply, Since buzzer draws about 1.5 mA we will consider Ic as 10mA..
So
Ic =10mA.
From datasheet; Vce=1V.
1. Applying KVL to C-E;
Vcc=Ic*R1+Vce
5=10mA*R1+1
R1=400 ohm.
For Ib we know;
Ib=Ic/Hfe(min).
From datasheet of BC547 we have;
Hfe(min)=110.
So,
Ib=10mA/110
Ib =90.90uA.
2. Applying KVL to B-E, we have
VIN=Ib*R2+Vbe
5=Ib*R2+0.7
4.3=Ib*R2
4.3=90.90uA*R2
R2=4.3/90.90uA
R2=47.3047Kohm.
So we have R1=400ohm and R2=47.3047kohm.
23
![Page 24: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/24.jpg)
5)SIGNAL CONDITIONING
Fig 8.4
For non inverting amplifier ;
Gain: 1+Rf/Ri.
Required gain: Vo/Vin:
=5/1.5
=3.333.
We will use Ri=1K… then we have
3.33=1+Rf/1K
Rf=2.33K..
We will use 10K pot as Rf.
So we have
Ri=1K and
Rf=10K(variable)…
Now for offset nulling technique as shown in figure…
24
![Page 25: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/25.jpg)
We are going to use LM358 so Vcc=5V and from datasheet of that opamp we got value of input offset voltage as 7mV(max)….
V=Vcc=5V
Vios=(Rc/Rb)V
7mV= (Rc/Rb)5
Rb=1400Rc
Choose Rc as 20 ohm.. then we have
Rc=20ohm
Rb=1400*20
=28Kohm
Take Rmax=Rb/10 so
Rmax=2800
As we know Rmax=Ra/4
Ra/4=2800
Ra=11.2Kohm(this is variable one)
We can adjust this variable Ra till the output reaches to zero…..
25
![Page 26: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/26.jpg)
9. SOFTWARE DESIGN
26
![Page 27: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/27.jpg)
Network layer
Fig 9.1
As per our system consider, We support following Functins:
Primary Table Object typeAccess Type Reference
Function Supported
Discrete Input Single bit Read Only 1x 0x2
Coil Single bit Read/Write 0x 0x1 0x5
Input Register 16 bit word Read Only 3x 0x4Holding Register 16 bit word Read/Write 4x 0x3 0x6 0x10
Table 9.1
27
Device Profile
Modbus Application layer
UART
RS-485
![Page 28: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/28.jpg)
Exception Codes
Code Name Meaning
01 ILLEGAL FUNCTION
The function code received in the query is not an allowable action for the slave. If a Poll Program Complete command was issued, this code indicates that no program function preceded it.
02 ILLEGAL DATA ADDRESS
The data address received in the query is not an allowable address for the slave.
03 ILLEGAL DATA VALUE
A value contained in the query data field is not an allowable value for the slave.
04 SLAVE DEVICE FAILURE
An unrecoverable error occurred while the slave was attempting to perform the requested action.
05 ACKNOWLEDGE
The slave has accepted the request and is processing it, but a long duration of time will be required to do so. This response is returned to prevent a timeout error from occurring in the master. The master can next issue a Poll Program Complete message to determine if processing is completed.
28
![Page 29: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/29.jpg)
Table 9.2
Algorithms
Main for Module A :
1. Start
2. Initialize all variable.
3. Initialize all Ports.
4. Initialize ADC.
5. Initialize UART for Baud rate 9600,no Parity,1 Start and 1 Stop bit.
6. Init Timer0;
7. Enable USART_RXC Interrupt.
8. Set Global Interrupt Enable pin high.
9. Loop
10.Check sampling rate and log data into eeprom using internal ADC
11.Go to step 9
Main for Module B:
1. Start
2. Initialize all variable.
3. Initialize all Ports.
4. Initialize ADC.
5. Initialize UART for Baud rate 9600, no Parity, 1 Start and 1 Stop bit.
29
![Page 30: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/30.jpg)
6. Init Timer0;
7. Enable USART_RXC Interrupt.
8. Set Global Interrupt Enable pin high.
9. Loop
10.Check sampling rate and log data into eeprom using internal ADC
11.Go to step 9
Main for Module C
1. Start
2. Initialize all variable.
3. Initialize all Ports.
4. Initialize UART for Baud rate 9600,no Parity,1 Start and 1 Stop bit.
5. Init Timer0;
6. Enable USART_RXC Interrupt.
7. Set Global Interrupt Enable pin high.
8. Loop
9. Go to step 9
ISR-RECIEVED COMPLETE
1. clear interrupt enable
2. disable USTART complete
3. initialize timer for 10usec
4. enable timer interrupt
5. received byte[count] = received byte
30
![Page 31: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/31.jpg)
6. count = count +1
7. set delay count for 3.5msec
8. set interrupt enable
ISR-Transmission COMPLETE
1. Clear interrupt enable
2. If Current= Byte to send then go to step 3
Else transmit que[current++];go ot step 4;
3. Disable transmit complete interrupt
TIMER 0 interrupt enable
4. Set interrupt enable.
ISR-Timer0
1. Clear interrupt enable
2. if delay counter ON go to step 3
3. if delay count2=0 then delay counter OFF
else delay count 2=delay count2 - 1
4. if delay count!=0, then delay count= delay count - 1
Go to step 7
5. if count=0, then no of bytes received = count
else go to step 7
6. if first received byte [0] = slave id
a) Call updateQue()
b) Enable USART transmission complete interrupt
c) Transmit Que[0]
31
![Page 32: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/32.jpg)
d) Current = 1
7. Preset counter.
8. Send interrupts enable flag.
UpdateQue
1. Current = 0
2. Que(0) = slave id
3. If login, then go to step4 else go to step 6
4. Check if exception
5. if exception
a) Que(1) = 80Hex + received byte [1]
b) Que(2) = Exception code
c) byte to send=3
d) return
6. if password wrong
a) send exception 4
b) return
7. Que(1) = received byte [1]
8. serve functions
9. return
32
![Page 33: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/33.jpg)
STATE DIAGRAMs
UpdateQue()
Whenever Responding to any query wile updating Queue of Response frame it may be Exception or Normal Response.
33
![Page 34: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/34.jpg)
Figure 9.2 : Modbus Transaction diagram.
Function 1
Figure 9.3 : Read Coil state diagram
34
ENTRY
MB Server receives mb_req_pdu
Function code supported
0x0001≤quantity of Registers ≤ 0x007D
Starting Address & Quantity of Registers OK
Quantity of Registers == OK
and ReadDiscreteOutputs OK
MB Server Sends mb_rsp
Exit
ExceptionCode=04
ExceptionCode=02
ExceptionCode=01
ExceptionCode=03
Request processing
MB Server Sends mb_exception_rsp
NO
NO
NO
NOYES
YES
YES
YES
![Page 35: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/35.jpg)
Function 2
Figure 9.4 : Read Discrete Inputs state diagram
35
ENTRY
MB Server receives mb_req_pdu
Function code supported
0x0001≤quantity of Registers ≤ 0x007D
Starting Address & Quantity of Registers OK
Quantity of Registers == OK
andRead Discrete Inputs OK
MB Server Sends mb_rsp
Exit
ExceptionCode=04
ExceptionCode=02
ExceptionCode=01
ExceptionCode=03
Request processing
MB Server Sends mb_exception_rsp
NO
NO
NO
NOYES
YES
YES
YES
![Page 36: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/36.jpg)
Function 3
Figure 9.5 : Read Holding Register state diagram
36
ENTRY
MB Server receives mb_req_pdu
Function code supported
0x0001≤quantity of Registers ≤ 0x007D
Starting Address & Quantity of Registers OK
Quantity of Registers == OK
andReadMultipleRegister OK
MB Server Sends mb_rsp
Exit
ExceptionCode=04
ExceptionCode=02
ExceptionCode=01
ExceptionCode=03
Request processing
MB Server Sends mb_exception_rsp
NO
NO
NO
NOYES
YES
YES
YES
![Page 37: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/37.jpg)
Function 4
37
![Page 38: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/38.jpg)
Fig 9.6
Function 5
Figure 9.7 : Write Single Output state diagram
38
YES
ENTRY
MB Server receives mb_req_pdu
Function code supported
0x0001≤quantity of Registers ≤ 0x007D
Starting Address & Quantity of Registers OK
Quantity of Registers == OK
andWriteSingleOutput OK
MB Server Sends mb_rsp
Exit
ExceptionCode=01
ExceptionCode=02
ExceptionCode=01
ExceptionCode=03
Request processing
MB Server Sends mb_exception_rsp
NO
NO
NO
NOYES
YES
YES
YES
![Page 39: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/39.jpg)
Function 6
Figure 9.8 : Write Single Register state diagram
39
ENTRY
MB Server receives mb_req_pdu
Function code supported
0x0001≤quantity of Registers ≤ 0x007D
Starting Address & Quantity of Registers OK
Quantity of Registers == OK
andWriteSingleRegister OK
MB Server Sends mb_rsp
Exit
ExceptionCode=04
ExceptionCode=02
ExceptionCode=01
ExceptionCode=03
Request processing
MB Server Sends mb_exception_rsp
NO
NO
NO
NOYES
YES
YES
YES
![Page 40: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/40.jpg)
Data address allotment
Module A :
s.n. Task Data model Access Start address Ending address
1 Enter passwodHolding Register R/W 400020 400024
2 Login Status Input Coil R/O 100001 3 Logoff Output coil R/W 000010 4 Current data Input Register R/O 300001
5 Sample rateHolding Register R/W 400100 400102
Hour 400100 Minute 400101 Seconds 400102
6Retrieve logged data Output coil R/W 000001
7 No. valid loggs Input Register R/O 300002 8 Access nth log Input Register R/O 301000 304999
9 Choose unitHolding Register R/w 400002
Table 9.3
Module B :
s.n. Task Data model Access Start address Ending address
1 Enter passwodHolding Register R/W 410020 410024
2 Login Status Input Coil R/O 110001 3 Logoff Output coil R/W 010010 4 Current data Input Register R/O 310001
5 Sample rateHolding Register R/W 410100 410102
Hour 410100 Minute 410101 Seconds 410102
6Retrieve logged data Output coil R/W 010001
7 No. valid loggs Input Register R/O 310002 8 Access nth log Input Register R/O 311000 3149999 Read unit Input Register R/O 313002
40
![Page 41: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/41.jpg)
10 Scaling Factor Input Register R/O 312000 Table 9.4
Module C:
s.n. Task Data model Access Start address
Ending address
1 Enter passwodHolding Register R/W 420020 40024
2 Login Status Input Coil R/O 120001 3 Logoff Output coil R/W 20001 4 Buzzer Output coil R/W 20020 5 LEDs Output coil R/W 20100 20102
Table 9.5
Calculations:
Timer 0 interrupt for 100uS:
TCCR0 = 0x02;
Resultant clock source after multiplier = Fcrystal/8.
Fclk = 3.6864MHz/8=460.8KHz.
TCNT0 = 210;
Resultant time=(256-TCNT0)/Fclk
=46/460.8K
=100uSec.
UART:
UBRR Settings for 3.6864MHz crystal.
Ref:Page166 Table 69 AtMega32 datasheet ,for 0% error up to 230.4K baud rate.
Delay count for Time Out:
41
![Page 42: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/42.jpg)
MODBUS Message RTU FramingA MODBUS message is placed by the transmitting device into a frame that has a known beginning and ending point. This allows devices that receive a new frame to begin at the start of the message, and to know when the message is completed. Partialmessages must be detected and errors must be set as a result. In RTU mode, message frames are separated by a silent interval of at least 3.5 character times. In the following sections, this time interval is called t3,5.
Fig 9.9
Specifically, about 9600 baud rate.
In 9600 Baud rate each bit takes 1/9600 seconds to transmit.
For whole frame (Normal)= 1 start+1 stop+8 data bits=10bits=>
So require 10*1/9600 seconds. Which is time taken for transmitting 1 char
so for 3.5 char time taken will be=10*3.5/9600=3.5mSec.
For 3.5 msec with help of 100usec Interrupt popping out .
So ,we require 3.5m/100u=35 as Delay count.
42
![Page 43: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/43.jpg)
SCADA Design:
SCADA usually starts with login process and after that continuously monitor for expected information. While designing there are many free SCADA’s available to use with MODBUS like-> Modscan32, SimplyModbus6.3.6 (Master) & very useful Docklight.
First of all we tried with Docklight
Wrong Id, wrong password, password ….
At the last, Logoff.
43
![Page 44: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/44.jpg)
Expected GUI ( Font end) under VB2008
Algorithm followed->
1. Select device from user. Generate slave ID accordingly.
2. Check login status, if login then continuously monitor for current reading.
3. Else ask for password. Unless right one is not entered.
In Back End, it will monitor for trigger point and take accordingly action.
44
![Page 45: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/45.jpg)
10. APPLICATIONS
process control
Factory floor automation
Manufacturing process
Industrial process automation
Industrial process automation: Press Forging
Press forging
Forging is one of the oldest known metalworking processes
In modern times, industrial forging is done either with presses or with hammers powered by compressed air, electricity, hydraulics or steam. These hammers are large, having reciprocating weights in the thousands of pounds.
Press forging is an operation characterized by the process of deformation which consists of a lot of heating and cooling. During the process, the material is slowly condensed into a shape by increasing pressure. There are two dies; one stationary and one pushed towards the other, which compresses the part. Press forging is variation of drop-hammer forging. Unlike drop-hammer forging, press forges work slowly by applying continuous pressure or force. The main advantage of press forging, as compared to drop-hammer forging, is its ability to deform the complete work piece
MODBUS
Over RS485 Vin (condition: 0v<Vin<5v)
Conversion GND
Factor
45
Generic
Device
Process status
Temperature
Module
Pc based
SCADA
2 4
3 8
2 5 Pressure sensor &
Conditioning circuit
![Page 46: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/46.jpg)
Fig 10.1
Press Forging Beryllium Copper Billet: http://www.freedomalloysusa.com/index.html
It should be noted that production input billet casting is the beginning point of the
manufacturing process which eventually yields the various wrought forms of beryllium
copper.
Beryllium copper application:
Beryllium copper strip alloys have historically been specified in electronic connector applications in an impressive array of telecommunications, computer, and automotive electronics applications. Beryllium copper rod is utilized to produce certain machined connector designs and beryllium copper casting alloys are specified for intricate miniature investment cast connectors. Undersea fiber optic cable repeater housings and their associated components have been specified in beryllium copper for many years. These beryllium copper housing assemblies (wrought and cast components) must perform flawlessly, for an extended service life measured in decades, in the harsh deep water marine environment of the world’s oceans. Obviously, beryllium copper’s special
46
C82500 BeCu Cast Electronic
Component
![Page 47: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/47.jpg)
combination of corrosion resistance, high strength, and durability characteristics match the severe operational requirements.
11.TESTING:
Communication
*For all serial communication purpose DOCKLIGHT Ver.1.6 s/w used.
RS232 Driver Implementation:
Circuit tested on bread board and following PCB is also tested.
Serial Communication with pc1)First part, RXD & TXD pin shorted, echo of transmitted pattern obtained on PC
2)Second part,100 bytes Sent from Microcontroller and successfully received on PC
47
![Page 48: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/48.jpg)
RS485 Driver Implementation:
Circuit Design & PCB:Circuit tested on bread board and following PCB is also tested.
Serial Communication with pc as half duplex Using 2nd PCB in Fig Transmission lines are shorted so as to get back echo on PC.
Serial Communication with pc as full duplexBoth PCB’s from Fig are used, one for Master side and another for slave side, so that 100 bytes sent from controller received on PC
Driver circuitry for Buzzer
Circuit designed resistances values were found out. Implemented on breadboard and tested .verified on multisim .Where buzzer Load impedance found out equal to 5kohm.
48
![Page 49: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/49.jpg)
Q1
BC547BP
VCC5V
R2390
R3
47k
XMM1
R1
4.3kXMM2
Temperature sensing: LM35
Using internal ADC of controller temperature is observed on PC. For that LM35 and its signal conditioning circuit is used.
While implementing Timer on timer0 using 2 LED’s connected to 2 pin and implementing toggling algorithem timer of 100usec was verified.
49
![Page 50: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/50.jpg)
SCADA testing:
SCADA tested using Modscan32.exe a freeware SCADA.
50
![Page 51: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/51.jpg)
12. FUTURE SCOPE
We have used 4 wire interface for implementing RS485 . Instead of that we can make use of 2 wire interface. But for that we have to define directional logic which is necessary for that system interface.
There are two types of modes of MODBUS one is RTU and other is ASKII. we have implemented RTU mode. We can implement ASKII mode also.
We have implemented only 6 functions, can be upgraded to fully functional DCS.
For fully fledged system we have to consider effect of “Grounding and Isolation”
51
![Page 52: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/52.jpg)
13. BIBLOGRAPHY
BOOKS
[Boye] Electronic Devices and Circuit Theory.
8th Edition.Robert Boylestad.
Prentice Hall India
[Mazi] The 8051 Microcontroller and Embedded Systems
2nd Edition, Muhammad Mazidi
Pearson Education
[JanS] Serial Port Complete Penram International Pvt. Ltd. 2nd Edition, Jan Axleson
[Dhan] Programming and customizing the AVR microcontroller-Dhananjay V.
Gadre
APPLICATION NOTES
*Modicon.com
[AN001] MODBUS APPLICATION PROTOCOL SPECIFICATION V1.1b[AN002] MODBUS over Serial LineSpecification and Implementation Guide
V1.02[AN003] Modicon Modbus Protocol Reference Guide PI–MBUS–300 Rev. J
*Texas Instruments [SLLA272B] The RS-485 Design Guide February 2008–Revised May 2008
*Maxim-IC
[AN1063] Microcontroller Recognizes Addresses in RS-485 Systems
[AN736] RS-485 (EIA/TIA-485) Differential Data Transmission System Basics
*Analog Devices
[AN960] RS-485/RS-422 Circuit Implementation Guide by Hein Marais
52
![Page 53: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/53.jpg)
14. APPENDIX
MODBUS @
The following figure gives a general representation of MODBUS serial communication stack compared to the 7 layers of the OSI model with respect to our system..
Fig 14.1
Application layer
Data EncodingMODBUS uses a ‘big-Endean’ representation for addresses and data items. This means that when a numerical quantity larger than a single byte is transmitted, the most Significant byte is sent first.
MODBUS data model
MODBUS bases its data model on a series of tables that have
distinguishing characteristics.
53
![Page 54: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/54.jpg)
The four primary tables are:
Primary table Object
type
Type of
access
Comments
coils Single bit Read-
Write
This type of data can be alterable by
an application program
Input registers 16-bit word Read-Only This type of data can be provided by
an I/O system
Holding
registers
16-bit word Read-
Write
This type of data can be alterable by
an application program
Discrete Input Single bit Read-Only This type of data can be provided by
an I/O system
Table 14.1
Data link layer:
1) MODBUS frame description
The MODBUS protocol defined a simple protocol data unit (PDU) independent of the underlying communication layers. The mapping of
MODBUS protocol on specific buses or network can introduce some additional fields on the application data unit (ADU).
General MODBUS frame:
ADU
54ADDITIONAL
ADDRESSES
DATAFUNCTION
CODE
ERROR CHECK
![Page 55: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/55.jpg)
PDU
Fig 14.2
The function code 1 byte. (128 – 255 reserved for exception responses).
Max size:
RS485 ADU = 256 bytes.PDU for serial line communication = 253 bytes
Server address (1 byte) , CRC (2 bytes)
2) MODBUS addressing rules:
Fig 14.3
3) The two serial Transmission Modes
Two different serial transmission modes are defined: The RTU mode and the ASCII mode.
It defines the bit contents of message fields transmitted serially on the line. It determines how information is packed into the message fields and decoded.
The transmission mode (and serial port parameters) must be the same for all
devices on a MODBUS Serial Line.
55
![Page 56: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/56.jpg)
General 4 wire topology.
Fig 14.4
CRC CALCULATIONS
Fig 14.5
56
![Page 57: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/57.jpg)
Table 15.1: COMPONENT LIST AND BILL
SR NO
COMPONENT SPECIFICATIONS QTY COST (Rs)
1 IC 7805 5V regulator 3 18
2 IC ATMEGA32 40-pin DIP 3 435
ICMAX232 16-pin-DIP 1 25
ICMAX485 8-pin DIP 8 320
ICLM35 TEMPERATURE SENSOR
1 40
ICLM324 Quad OpAmp 2 20
3 IC base 16 pin dip 3 6
40 pin dip 3 12
8 pin dip 8 8
4 Relamet connector 6 pin 1 9
2 pin 6 12
5 Transistor BC547 1 1
6 Toggle switch SPDT 3 24
7 Zener diode 5.1 V 2 2
8 Diode 1N4007 16 16
9 Resistors 1K ohm 0.25watt 12 3
10 kohm 0.25watt 2 0.5
15 Kohm 0.25watt 1 0.25
4.7 kohm 0.25 watts 2 0.5
120ohm0.25watts 4 1
57
![Page 58: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/58.jpg)
47Kohm0.25watts 1 0.25
680ohm0.25watts 4 1
20ohm0.25watts 4 1
402ohm0.25watts 1 0.25
10. Variable Pot 10k,1k precesion 2 8
11. Capacitors 1000uF,25V,electrolytic 1 6
100 uF,25V,electrolytic 1 2
10uF 25V, electrolytic 4 4
0.01 uF,22pF ceramic 10 10
2200uF, electrolytic 2
12. Bur strips 40 pin 3 18
13. 2 pin push button 1 2
14 LEDs 3mm 10 10
15 PCB
16 Serial cable Plug socket DB9
1 75
17. DB 9 socket Female 2 20
18. Crystal 3.6864Mhz 1 15
19. casing
20. BUZZER 3V-24V 1 21
TOTAL
58
![Page 59: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/59.jpg)
15. CIRCUIT DIAGRAM
MODULE C
59
![Page 60: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/60.jpg)
1 . 8 K
A R x _ in
L S 1
B U Z Z E R
1
2
5 V
5 V
A R x _ in
A Tx _ in
1 . 8 K
1 . 8 K
b u zze r
C 30 . 1 u F
C 30 . 1 u F
B C 5 4 7
1
2
3
B R x _ in
5 V
A Tx _ in
Tx D _ in
L E D
C 2
2 2 p F
R 2
4 7 K o h m
L E D
B Tx _ in
L E D
B Tx _ in
C 30 . 1 u F
C 1
2 2 p F
L E D
R x D _ in
5 V
B R x _ in
4 0 0 o h m
1 . 8 K
5 v
J P 1
4 H E A D E R
1234
R x D _ in
b u zze r
0-5V
L E D
L E D
U 4
M A X4 8 5
123
467
8
R OR ED E
D IAB
+V C C
U 3
M A X4 8 5
123
467
8
R OR ED E
D IAB
+V C C
C 30 . 1 u F
1 . 8 KU 1
D I P 4 0
3 5
2 1
1 0
4 03 93 83 73 6
2 2
1234
5678
9
2 42 52 62 72 82 9
3 03 1
1 1
1 3
1 41 5
1 61 7
1 81 92 0
3 2
3 3
1 2
3 4
2 3
P A 5 / A D C 5
P D 7 / O C 2
V C C
P A 0 / A D C 0P A 1 / A D C 1P A 2 / A D C 2P A 3 / A D C 3P A 4 / A D C 4
P C 0 / S C L
P B 0 / XC K 0 / T0P B 1 / T1P B 2 / I N T2 / A I N 0P B 3 / O C 0 / A I N 1
P B 4 / S SP B 5 / M O S IP B 6 / M I S OP B 7 / S C K
R E S E T
P C 2 / TC KP C 3 / TM SP C 4 TD OP C 5 / TC I
P C 6 / TO S C 1P C 7 / TO S C 2
A V C CG N D
G N D
XTA L 1
P D 0 / R x DP D 1 / Tx D
P D 2 / I N T0P D 3 / I N T1
P D 4 / O C 1 BP D 5 / O C 1 AP D 6 / I C P 1
A re f
P A 7 / A D C 7
XTA L 2
P A 6 / A D C 6
P C 1 / S D A
Y 1C R Y S TA L
Tx D _ in
1 . 8 K
Fig 15.1
60
![Page 61: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/61.jpg)
MODULE B
C 30 . 1 u F
R c
A R x _ in
C 30 . 1 u F
J P 1
1234B R x _ in
5 V
C 1 2 2 p F
C 3
0 . 1 u F
B R x _ in
R _ in
U 6 M A X4 8 5
123
467
8
R OR ED E
D IAB
+V C C
5 V
Tx D _ in
B Tx _ in
5 V
C 1
A R x _ in
R a
13
2
5 V5 V
5 V
12
5 V
U 6 M A X4 8 5
123
467
8
R OR ED E
D IAB
+V C C
Tx D _ in
R 1
R x D _ in
R x D _ in
C 3
0 . 1 u F
A Tx _ in
+
-
U 3 A
L M 3 5 8
3
21
84
U 1
D I P 4 0
3 5
2 1
1 0
4 03 93 83 73 6
2 2
1234
5678
9
2 42 52 62 72 82 9
3 03 1
1 1
1 3
1 41 5
1 61 7
1 81 92 0
3 2
3 3
1 2
3 4
2 3
P A 5 / A D C 5
P D 7 / O C 2
V C C
P A 0 / A D C 0P A 1 / A D C 1P A 2 / A D C 2P A 3 / A D C 3P A 4 / A D C 4
P C 0 / S C L
P B 0 / XC K 0 / T0P B 1 / T1P B 2 / I N T2 / A I N 0P B 3 / O C 0 / A I N 1
P B 4 / S SP B 5 / M O S IP B 6 / M I S OP B 7 / S C K
R E S E T
P C 2 / TC KP C 3 / TM SP C 4 TD OP C 5 / TC I
P C 6 / TO S C 1P C 7 / TO S C 2
A V C CG N D
G N D
XTA L 1
P D 0 / R x DP D 1 / Tx D
P D 2 / I N T0P D 3 / I N T1
P D 4 / O C 1 BP D 5 / O C 1 AP D 6 / I C P 1
A re f
P A 7 / A D C 7
XTA L 2
P A 6 / A D C 6
P C 1 / S D A
R 1
5 K o h m
13
2
C 3
0 . 1 u F
1 K o h m
C 2 2 2 p F
5 V
R bR _ in
B Tx _ in
A Tx _ in
Y 1C R Y S TA L
C 3
0 . 0 1 u F
Fig 15.2
61
![Page 62: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/62.jpg)
MODULE A
5 V
Tx D _ in
5 V
C 3
0 . 1 u F
C 3
0 . 1 u F
0 . 1 u F
5 V
C 3
0 . 0 1 u F A R x _ in
U 4
L M 3 5 / TO
12V S +V O U T
R 1
J P 1
1234
C 2 2 2 p F
A R x _ in
Y 1C R Y S TA L
C 30 . 1 u F
A Tx _ in
Tx D _ in
R _ in
R x D _ in
U 1
D I P 4 0
3 5
2 1
1 0
4 03 93 83 73 6
2 2
1234
5678
9
2 42 52 62 72 82 9
3 03 1
1 1
1 3
1 41 5
1 61 7
1 81 92 0
3 2
3 3
1 2
3 4
2 3
P A 5 / A D C 5
P D 7 / O C 2
V C C
P A 0 / A D C 0P A 1 / A D C 1P A 2 / A D C 2P A 3 / A D C 3P A 4 / A D C 4
P C 0 / S C L
P B 0 / XC K 0 / T0P B 1 / T1P B 2 / I N T2 / A I N 0P B 3 / O C 0 / A I N 1
P B 4 / S SP B 5 / M O S IP B 6 / M I S OP B 7 / S C K
R E S E T
P C 2 / TC KP C 3 / TM SP C 4 TD OP C 5 / TC I
P C 6 / TO S C 1P C 7 / TO S C 2
A V C CG N D
G N D
XTA L 1
P D 0 / R x DP D 1 / Tx D
P D 2 / I N T0P D 3 / I N T1
P D 4 / O C 1 BP D 5 / O C 1 AP D 6 / I C P 1
A re f
P A 7 / A D C 7
XTA L 2
P A 6 / A D C 6
P C 1 / S D A
C 1 2 2 p F
R b
5 V
C 30 . 1 u F
U 6 M A X4 8 5
123
467
8
R OR ED E
D IAB
+V C C
B R x _ in
5 V
B Tx _ in
5 V
5 V
R c
B Tx _ inR _ in
R a
13
2
5 V
12
U 6 M A X4 8 5
123
467
8
R OR ED E
D IAB
+V C C
R x D _ in
+
-
U 3 A
L M 3 5 8
3
21
84
B R x _ in
R 3
1 K o h m
C 3
0 . 1 u F
A Tx _ in
C 1
Fig 15.3
62
![Page 63: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/63.jpg)
Master: Module D
B Tx _ in
1 0 m ic ro F
R x D _ o u t
1
6
2
7
3
8
4
9
5
16
27
38
49
5
A R x _ in
V C C
J P 2
4 H E A D E R
1234
R x D _ o u t
V C C
R x D
A R x _ in
U 2
M A X2 3 2
1 38
1 11 0
134526
1 291 47
R 1 I NR 2 I NT1 I NT2 I N
C +C 1 -C 2 +C 2 -V +V -
R 1 O U TR 2 O U TT1 O U TT2 O U T
5 V
RS485 to RS232 conversion on master side(PC)
7 0 5
7 0 5
Tx D
A Tx _ in
1 2 0
R 2
5 V
Tx D _ o u t
B Tx _ in
U 7
M A X4 8 5 / S O
123
467
8
R OR ED E
D IAB
+V C C
B R x _ in
5 V
1 0 m ic ro F
7 0 5
Tx D _ o u t
U 8
M A X4 8 5 / S O
123
467
8
R OR ED E
D IAB
+V C C
A Tx _ in
1 0 m ic ro F
1 2 0
1 0 m ic ro F
B R x _ in
R x D
Tx D
Fig 15.4
63
![Page 64: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/64.jpg)
Layout of basic Prototype board
64
![Page 65: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/65.jpg)
65
![Page 66: Modbus Based Control System](https://reader035.fdocuments.in/reader035/viewer/2022062219/5525e61f550346dd6e8b4a9f/html5/thumbnails/66.jpg)
16. DATA SHEETS
66