Professional Documents
Culture Documents
1)SERVER
2)RS485 IMPLEMENTATION
3)SCADA SYSTEM
8. HARDWARE DESIGN 19
9. SOFTWARE DESIGN 29
10. APPLICATION 48
11. TESTING 50
1 2. FUTURE SCOPE 54
13. BIBLIOGRAPHY 55
1
14. APPENDIX 56
I. LIST OF FIGURES
Figure5.1 Block diagram DCS……………………………………………………..14
Figure 6.1
2
Figure8.1 power supply design……………………………………………….……20
Figure9.3 ………….….………37
1. SYNOPSIS
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.
2. LITERATURE SURVEY
1. www.MODICON.com
2. www.wikipedia.com
3. www.google.com.
5
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] .
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 .
6
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?
3)It moves raw bits or words without placing many restrictions on vendors
Master-> pc : module D.
7
• 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
2) For the purpose of controlling part 3LED’s are provided to show different
works or functions.
4. SYSTEM SPECIFICATION
Resolution : 0.1˚C
8
2)Module B: Generic Analog I/P Module
Resolution: 10bit
Visuals: 3 LEDs .
Audio: Buzzer .
4) RS232-Rs485 Converter
Monitoring Parameter
6) UART:
9
Baud Rate Supported (bps):4800, 9600, 19.2k, 38.4k, 57.6k, and 115.2k
Data Bits: 7, 8
Parity: N, 0, E
5. BLOCK DIAGRAM
RS RS
PC
- -
LT1
(SCADA
SYSTEM) 232 485 Generic
Device
D: MODBUS Master
Temperature
Module
Alarm and
10 process
status
indicator
B: MODBUS Slave
A: MODBUS Slav
C: MODBUS Slave
LT2
Fig 5.1
6. BLOCKWISE DESIGN
A TTL
Controller ADC TEMPRATURE
TTL to SENSOR
B 485
Fig 6.1
TTL
Controller ADC 0 to 5V analog
TTL to I/p
11
485
B
Fig 6.2
A TTL
Controller Led’s &
TTL to
485 Buzzer
B
Fig 6.3
PC A
Serial port RS232 232 TTL
RS232 B
To TTL
TTL to 485
Db9-plug Fig 6.4
7. DESIGN
UART APPROACH
12
Fig 7.1
MASTER BOOTING
1) SERVER
2) RS485 implementation
3) SCADA system
1) SERVER
13
Hardware approach :
1) Ttl-Rs232
2) Downloading section
3) Display unit
4) ADC interface
Module a)
3) LCD interface
Module b)
Module c)
Logical approach:
14
Module b) module will show 2 modes on display
1) Program mode
2) Run mode
It just means server waiting for command from client & eager to respond.
2) RS-485 implementation
RS232-RS485 ->
3) SCADA system
15
8. HARDWARE DESIGN
16
1N 4007 U 2
2
L M 7 8 0 5 C /TO
1 3
IN O U T
- +
Vin=24V 4 1
G N D
DC
Vout=5V
2
3
600uF 0 .3 3 u F 0 .1 u F
regulated
Fig 8.1
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
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;
=Idc/4*31/2*f*C*Vdc
=1/4*31/2*f*C*RL
Substituting values;
17
0.05 =1/ 4*31/2*f*C*RL
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:
Capacitors Cin and Co are used at input and output side of IC….
Need of capacitor:
We know
Vin-Vout=2W/0.5
=4V
PD=17.6*150mA
PD =2.64W
power up to 3 watts.
• 8-bit Microcontroller
• Inbuilt 8-channel
20
mV between A and B data line.
Fig 8.2
32 nodes. In our case we are going to use 3 slaves and 1 master. So we have
4 RS485 Nodes.
Each RS 485 node has load impedance of 12K. so for such 4 nodes in
parallel give load of 3k.
21
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)
3.4mA=5V/(2R+(120||3K||120))
2R+59=5V/3.4mA
2R+59=1470
2R=1411
R=705 ohm.
5 V
4 0 0 o h m
L S 1
2
B U Z Z E R
R 2
1
5V 2
B C 5 4 7
4 7 K o h m
3
Fig 8.3
For 5V supply, Since buzzer draws about 1.5 mA we will consider Ic as 10mA..
So
22
Ic =10mA.
Vcc=Ic*R1+Vce
5=10mA*R1+1
R1=400 ohm.
For Ib we know;
Ib=Ic/Hfe(min).
Hfe(min)=110.
So,
Ib=10mA/110
Ib =90.90uA.
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.
5)SIGNAL CONDITIONING
23
Fig 8.4
Gain: 1+Rf/Ri.
=5/1.5
=3.333.
3.33=1+Rf/1K
Rf=2.33K..
So we have
Ri=1K and
Rf=10K(variable)…
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)….
24
V=Vcc=5V
Vios=(Rc/Rb)V
7mV= (Rc/Rb)5
Rb=1400Rc
Rc=20ohm
Rb=1400*20
=28Kohm
Take Rmax=Rb/10 so
Rmax=2800
As we know Rmax=Ra/4
Ra/4=2800
25
9. SOFTWARE DESIGN
Device Profile
UART 26
RS-485
Network layer
Fig 9.1
Access Function
Primary Table Object type Type Reference Supported
Discrete Input Single bit Read Only 1x 0x2
Table 9.1
Exception Codes
A value contained in
03 the query data field is
ILLEGAL DATA VALUE not an allowable value
for the slave.
An unrecoverable error
04 occurred while the
SLAVE DEVICE slave was attempting to
FAILURE perform the requested
action.
The slave has accepted
05 the request and is
ACKNOWLEDGE 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.
Table 9.2
Algorithms
4. Initialize ADC.
5. Initialize UART for Baud rate 9600,no Parity,1 Start and 1 Stop
bit.
6. Init Timer0;
9. Loop
10. Check sampling rate and log data into eeprom using internal
ADC
11. Go to step 9
1. Start
4. Initialize ADC.
6. Init Timer0;
9. Loop
29
10. Check sampling rate and log data into eeprom using internal
ADC
11. Go to step 9
1. Start
4. Initialize UART for Baud rate 9600,no Parity,1 Start and 1 Stop
bit.
5. Init Timer0;
8. Loop
9. Go to step 9
ISR-RECIEVED COMPLETE
6. count = count +1
ISR-Transmission COMPLETE
30
1. Clear interrupt enable
ISR-Timer0
Go to step 7
else go to step 7
a) Call updateQue()
c) Transmit Que[0]
d) Current = 1
7. Preset counter.
UpdateQue
1. Current = 0
2. Que(0) = slave id
31
3. If login, then go to step4 else go to step 6
4. Check if exception
5. if exception
c) byte to send=3
d) return
6. if password wrong
a) send exception 4
b) return
8. serve functions
9. return
STATE DIAGRAMs
UpdateQue()
Whenever Responding to any query wile updating Queue of Response frame it may be
Exception or Normal Response.
32
Figure 9.2 : Modbus Transaction diagram.
Function 1
ENTR
Y
NO Function code
supported
ExceptionCode=04
Starting Address &
MBQuantity
Server of Registers
Sends mb_rsp
0x0001≤quantity of Registers
MB Server
ExceptionCode=01 ExceptionCode=02
Sends
NO mb_exception_rsp
ExceptionCode=03 NO 0x007D
Request Exit ≤
processing
YESYES
YES
OK
Quantity of Registers == OK
and
YES
NO
ReadDiscreteOutputs
OK
Function 2
ENTR
Y
and
YES
NO
Function 3
ENTR
Y
NO 35
Function code
supported YES
ExceptionCode=01
0x0001≤quantity of Registers ≤
ExceptionCode=04
Starting Address & Quantity
Server of Registers
MB Server ExceptionCode=02
Sends
0x007D Request MB
processing
Exit
Sends mb_rsp
NO mb_exception_rsp
ExceptionCode=03 NO OK YESYES
YES
Quantity of Registers == OK
and
NO
ReadMultipleRegister
OK
Function 4
36
Fig 9.6
Function 5
37
YES
ENTR
Y
NO Function code
YES
supported
ExceptionCode=01 NO
0x0001≤quantity of Registers ≤
0x007D
YES
ExceptionCode=03
WriteSingleOutput
NO and
OK YES
ExceptionCode=01
MB Server Sends mb_rsp
Function 6
38
ENTR
Y
NO Function code
supported YES
ExceptionCode=01
0x0001≤quantity of Registers ≤
NO 0x007D
ExceptionCode=03 YES
Starting Address & Quantity of Registers
NO OK
ExceptionCode=02
YES
Quantity Request processing
of Registers == OK
WriteSingleRegister
NO and
OK
YES
ExceptionCode=04
MB Server Sends mb_rsp
Module A :
Module B :
Module C:
Start Ending
s.n. Task Data model Access address address
Holding
1 Enter passwod Register R/W 420020 40024
2 Login Status Input Coil R/O 120001
40
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:
TCCR0 = 0x02;
Fclk = 3.6864MHz/8=460.8KHz.
TCNT0 = 210;
Resultant time=(256-TCNT0)/Fclk
=46/460.8K
=100uSec.
UART:
41
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
SCADA Design:
42
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.
43
Expected GUI ( Font end) under VB2008
Algorithm followed->
2. Check login status, if login then continuously monitor for current reading.
In Back End, it will monitor for trigger point and take accordingly action.
10. APPLICATIONS
44
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.
MODBUS
2 4
Pc Over RS485 Vin (condition: 0v<Vin<5v)
based 3 8
Temperature
Conversion GND
Module
Factor
Process
status
Fig 10.1
45
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 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
combination of corrosion resistance, high strength, and durability characteristics match
the severe operational requirements.
11.TESTING:
Communication
46
*For all serial communication purpose DOCKLIGHT Ver.1.6 s/w used.
47
Circuit tested on bread board and following PCB is also tested.
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
XMM1
VCC
5V
R1
XMM2
4.3k
R2
390
Q1
R3
47k
BC547BP
Using internal ADC of controller temperature is observed on PC. For that LM35
and its signal conditioning circuit is used.
SCADA testing:
49
SCADA tested using Modscan32.exe a freeware SCADA.
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.
13. BIBLOGRAPHY
BOOKS
51
[Boye] Electronic Devices and Circuit Theory.
Pearson Education
APPLICATION NOTES
*Modicon.com
*Texas Instruments
[SLLA272B] The RS-485 Design Guide February 2008–Revised May 2008
*Maxim-IC
*Analog Devices
14. APPENDIX
52
MODBUS @
Fig 14.1
Application layer
Data Encoding
MODBUS 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.
Input registers 16-bit word Read-Only This type of data can be provided by
an I/O system
Discrete Input Single bit Read-Only This type of data can be provided by
an I/O system
Table 14.1
The MODBUS protocol defined a simple protocol data unit (PDU) independent of
the underlying communication layers. The mapping of
ADU
ADDRESSES CODE
PDU
Fig 14.2
54
The function code 1 byte. (128 – 255 reserved for exception responses).
Max size:
RS485 ADU = 256 bytes.PDU for serial line communication = 253 bytes
Fig 14.3
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
General 4 wire topology.
Fig 14.4
56
CRC CALCULATIONS
Fig 14.5
1 IC 7805 5V regulator 3 18
ICMAX232 16-pin-DIP 1 25
ICLM35 TEMPERATURE 1 40
57
SENSOR
40 pin dip 3 12
8 pin dip 8 8
2 pin 6 12
5 Transistor BC547 1 1
8 Diode 1N4007 16 16
120ohm0.25watts 4 1
47Kohm0.25watts 1 0.25
680ohm0.25watts 4 1
20ohm0.25watts 4 1
402ohm0.25watts 1 0.25
100 uF,25V,electrolytic 1 2
2200uF, electrolytic 2
58
12. Bur strips 40 pin 3 18
14 LEDs 3mm 10 10
15 PCB
19. casing
TOTAL
1 .8 K
1 .8 K LED
400 ohm LS1
U 1 1 .8 K LED
1
b uzze r
1 4 0 LED
2 2 P B 0 /X C K 0 /T 0 P A 0 /A D C 0 3 9 1 .8 K LED
3 P B 1 /T 1 P A 1 /A D C 1 3 8 1 .8 K
BU ZZER
4 P B 2 /IN T 2 /A IN 0 P A 2 /A D C 2 3 7
P B 3 /O C 0 /A IN 1 P A 3 /A D C 3 3 6 1 .8 K LED
5 P A 4 /A D C 4 3 5
5V 6 P B 4 /S S P A 5 /A D C 5 3 4 LED
R 2 7 P B 5 /M O S I P A 6 /A D C 6 3 3
1
b u zze r P B 6 /M IS O P A 7 /A D C 7
2 8 5V
BC 547 C 3 P B 7 /S C K 32
47 Kohm 0 .1 u F 9 A re f 31
R ESET G N D 30 C 3
AVC C
3
10 0 .1 u F
11 VC C
G N D
12
Y 1 13 XTA L2 2 9 C 3
C R Y S TAL XTA L1 P C 7 /T O S C 2 2 8 5V 0 .1 u F
22pF 14 P C 6 /T O S C 1 2 7
R x D _ in P D 0 /R x D P C 5 /T C I
15 2 6 U 3
C 2 T x D _ in P D 1 /T x D PC 4TD O 2 5
P C 3 /T M S T x D _ in
16 2 4 4 1
17 P D 2 /IN T 0 P C 2 /T C K 2 D I R O 6
P D 3 /IN T 1 R E A A T x _ in
3 7
C 1 D E B B T x _ in
1 8 23
1 9 P D 4 /O C 1 B P C 1 /S D A 22 8
2 0 P D 5 /O C 1 A P C 0 /S C L +VC C
22pF 2 1 P D 6 /IC P 1
P D 7 /O C 2 M A X485
D IP 4 0 JP1
A T x _ in 1
B T x _ in 2
A R x _ in 3
B R x _ in 4
4 H EAD ER
U 4
R x D _ in
4 1
2 D I R O 6
R E A A R x _ in
3 7
D E B B R x _ in
8
+VC C
0-5V
M A X48 5
5v C 3
0 .1 u F
60
Fig 15.1
MODULE B
5V 5V
5V C 3
1
0 .1 u F 2 5K ohm
C 3
R 1 U 3A R 1 0 .1 u F
8
3
+ R b
1 5V
R _ in
3
2
-
LM 358 1K ohm
2
3
4
R c
C 1 2
U 1 R a
1
1 4 0
2 P B 0 /XC K 0 /T 0 P A 0 /A D C 0 3 9
P B 1 /T1 P A 1 /A D C 1
1
3 3 8
4 P B 2 /IN T 2 /A IN 0 P A 2 /A D C 2 3 7
P B 3 /O C 0 /A IN 1 P A 3 /A D C 3 3 6
5 P A 4 /A D C 4 3 5
5V 6 P B 4 /S S P A 5 /A D C 5 3 4 5V JP1
7 P B 5 /M O S I P A 6 /A D C 6 3 3
P B 6 /M IS O P A 7 /A D C 7 A T x _ in 1
8 C 3
P B 7 /S C K B T x _ in 2
32
R _ in A re f A R x _ in 3
C 3 9 31 0 .0 1 u F
R ESET G N D B R x _ in 4
30
0 .1 u F 10 AVC C
C 2 22pF 11 VC C
G N D
12 5V U 6 M AX485
C R Y S TA L Y 1 13 XTA L2 2 9
C 1 XTA L1 P C 7 /TO S C 2 T x D _ in
22pF 2 8 4 1
14 P C 6 /TO S C 1 2 7 2 D I R O 6
R x D _ in P D 0 /R x D P C 5 /T C I R E A A T x _ in
15 2 6 3 7
T x D _ in P D 1 /T x D P C 4TD O D E B B T x _ in
2 5 C 3
16 P C 3 /T M S 2 4 8
17 P D 2 /IN T 0 P C 2 /T C K 0 .1 u F +VC C
P D 3 /IN T 1 5V
1 8 23
1 9 P D 4 /O C 1 B P C 1 /S D A 22 U 6 M AX485
2 0 P D 5 /O C 1 A P C 0 /S C L
2 1 P D 6 /IC P 1 4 1
P D 7 /O C 2 D I R O R x D _ in
2 6
R E A A R x _ in
3 7
D E B B R x _ in
D IP 4 0
8
C 3 +VC C
0 .1 u F
61
Fig 15.2
MODULE A
5V U 4 5V
0 .1 u F
2 1
VO U T VS+
5V C 3
0 .1 u F C 3
0 .1 u F
R 1 U 3A L M 3 5 /TO
8
3 5V
+ R 3
1 R b
R _ in
2
-
1K ohm
1
LM 358
2
R c 2
4
C 1 R a
U 1
1
1 4 0
P B 0 /XC K 0 /T0 P A 0 /A D C 0
3
2 3 9
3 P B 1 /T1 P A 1 /A D C 1 3 8
4 P B 2 /IN T 2 /A IN 0 P A 2 /A D C 2 3 7
P B 3 /O C 0 /A IN 1 P A 3 /A D C 3 3 6
5 P A 4 /A D C 4 3 5
5V 6 P B 4 /S S P A 5 /A D C 5 3 4 5V JP1
7 P B 5 /M O S I P A 6 /A D C 6 3 3
P B 6 /M IS O P A 7 /A D C 7 A T x _ in 1
8 C 3
P B 7 /S C K B T x _ in 2
32
R _ in A re f A R x _ in 3
C 3 9 31 0 .0 1 u F
R ESET G N D B R x _ in 4
30
0 .1 u F 10 AVC C
C 2 22pF 11 VC C
G N D
12 5V U 6 M A X485
C R Y S TA L Y 1 13 XTA L2 2 9
C 1 XTA L1 P C 7 /T O S C 2 T x D _ in
22pF 2 8 4 1
14 P C 6 /T O S C 1 2 7 2 D I R O 6
R x D _ in P D 0 /R x D P C 5 /TC I R E A A T x _ in
15 2 6 3 7
T x D _ in P D 1 /T x D P C 4TD O D E B B T x _ in
2 5 C 3
16 P C 3 /TM S 2 4 8
17 P D 2 /IN T 0 P C 2 /TC K 0 .1 u F +VC C
P D 3 /IN T 1 5V
1 8 23
1 9 P D 4 /O C 1 B P C 1 /S D A 22 U 6 M A X485
2 0 P D 5 /O C 1 A P C 0 /S C L
2 1 P D 6 /IC P 1 4 1
P D 7 /O C 2 D I R O R x D _ in
2 6
R E A A R x _ in
3 7
D E B B R x _ in
D IP 4 0
8
C 3 +VC C
0 .1 u F
62
Fig 15.3
Master: Module D
9 8 7 6
VC C
5V
9 8 7 6
5 4 3 2 1
705
5 4 3 2 1 U 7
R xD A T x _ in
4 1
2 D I R O 6
TxD _out 3 R E A 7 120
R xD _out D E B
8
+VC C B T x _ in
R 2
M A X 4 8 5 /S O
U 2 JP2
13 12
R xD _out R 1 IN R 1 O U T A R x _ in 1
8 9
R 2 IN R 2 O U T R xD B R x _ in 2
11 14
TxD T 1 IN T1 O U T A T x _ in 3
10 7
T 2 IN T2 O U T TxD _out B T x _ in 4
1 0 m ic r o F
1 5V 4 H EAD ER
3 C +
4 C 1-
1 0 m ic r o F 5 C 2+
2 C 2- 705
6 V +
V -
1 0 m ic r o F M A X232 U 8
TxD
1 0 m ic r o F
A R x _ in
4 1
2 D I R O 6 120
3 R E A 7
D E B
8
+VC C B R x _ in
5V
M A X 4 8 5 /S O
VC C
705
63
Fig 15.4
64
Layout of basic Prototype board
65
66
16. DATA SHEETS
67