Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1393
:
Version : 1.0
:
www.knowledgeplus.ir
www.controlsystemco.com
:
:
3 ............................................................................................................................................................. -1
11 .................................................................................................................................. HMI_Modbus -4
11 :
31/2 -./0 +%, -1-1-4
12 : Modbus
7 # USART 6 Timer 45 -2-1-4
-1
!
" # !
+/ 0
*
+ ,
- . !
# $
$% &'()
:
4
36= HMI !4(< 2
? &!
0C! -
2D ? & # ! AB@ 9B
? &@% - $% , ?
? &F= G -C% H0I 9J
? & E !
% 9B
? & !
0C! 7
0
#
M0= ? &'()
-C% / L
? &
-C% K
61 9J
? &!
#
'() OP H
? & 3=N5
2D $%
? &'()
0
56
!: #
? &S 0Q/ R ? &8J 4+ ? &'() !
M
- !4(< 3
@ T K 0I %!
.
RTU ! 4
. RTU , ASCII , TCP :
06= U
<
: # H
3 4
(% /
4
'() !4(< !4%< = ! HMI
,12 )
1
Siemens, Omron, LS, Mitsubishi, Panel Master , Beiger , Delta , Fararo Paya
.0 6C#
. 0!
2 :%= Slave
= ATXmega
42
Master +,
%" -
$
%# &%' !
(
) ! *
Master ! "#
42
Slave $
%#
%" ! Slave +, &%' -
.+"+/
#!" Master
HMI * Slave ,- * 6! #" D* 2 2 . ... * +"1
1 &"'
* 2/" * 1 ,+"
* (Table 1) +/ E % F" &G Modbus 3 @
Table 2)/! < %*<! %3-
+
.(
5 %# 3% 4! %" %! ! PLC 2 0! Discretes
8
-9! 67
%" $1 0!
Input
PLC
Coils
3% 4! 48% %! ! 2 0!
5 %# 3% 4! %" %! ! PLC 2 0! Input
8
-9! 67 >'
%" $1 16
Registers
EEPROM ?SRAM @ %# 5*< =
A%B 6# ) 3% 5 5> 5 8 Flash !
2 0! Holding
CD 2
>'
8% ? %" 16
!"#$ Registers
Table 1 Modbus Data types
:
.&%
2 3&
10 .!' &; %&'/(!'&) D8 C .!% ' ( @ ) @ 67 AB&
2 3&
HMI ,7' F8 1 &
= GH . HMI D
'
.&%
.&%
I&" @ (!'&) &
"#$ !
TUK
) U ATXMEGA
CRC16 ! ! & ! Master
( SC )
;<= >( ? " 0+ @ 6 67 89 (($ ! ) CRC16
. Figure 4)
( " -
Figure 4
( )
G
E? F
( !( Slave CD
Slave ID 0x03 Byte Count Register Values CRC16
1 Byte (0-255) 1 Byte 1 Byte (0-256) N Bytes (0-65535)
*
2 Bytes**
4 1
!
2 3 !. /0 $ !
%& '( )
.
0$+ 6789 ;"#$ / - ;! D$= 7, 6
D /
(Figure 6)
"/ 5- 6
Master +3
Slave ID 0x06 Register Address Register Value CRC16 Check
1 Byte (0-255) 1 Byte 2 Bytes (0-65535) 2 Bytes (0-65535) 2 Bytes
1 63 )* +23 */ 3# + 4 !"
#
+,-. */ 1
Slave +,-. */ '5
.(Figure 7)
+ +3
O+,$ "#$
%
+3
-3
F + G' HMI % @A: ,% BC ! D- E % , <% =' > ! ?- /
H) I*-1 ! I/O /%% ! RS485 ,=' > *<% USART H
, % F$#
H ,% (Half Duplex) '
+ RS485 J "
.(RxD,TxD,EN)
EJ Low / % ' ! - J High (MAX485 )L/*' IC % @ % RE,DE
. *6L EN B / I*-1 ! , % ?- /
ISL83485 ,C ! : E I- -( ?*I- % ATXMEGA ,I*-1 BC !
3.3
. 6* ' !% *( % - I- Intersil
3.3
= H @A: ,% - E 6* (www.knowledgeplus.ir) M * ! C % ! ?- / ,%
% HP: ,% + - LED $ NO E RS485 ,% IC + 0 * - (
, %
,C , - ,- % (Figure 9 , Figure 10) RS485 % +:
4Q .% Earth
(560) - + % (120)R% - % -#$ ( Fail-Safe ,? I 1: H ) RS485 HA
! " !-% ! ,L T / T$ E SP Pulldown(560) - + - Pullup
07- ,C - %
- % * ,-- I( R% ,- ,C
:
I( ,C ! EB 4 % A< A 4 ?*I- :U% - - / '9 D- .A
. /
V: E Idle
HMI_Modbus -4
HMI ATXMEGA
Atmel
IAR Ver 6.3.1
."
HMI_Modbus.h HMI_Modbus.c !
. ! "#$ %
HMI_Modbus.h&'( )
: -1-4
0! *+,
-
/ &2 .( )
Header"'
! &1 :"
# $%
!
.5 -
/ #4 &4 . Modbus
4 USART 3 Timer 12 &3
*+,
-
/ # )) *
9 ( "; <=
4 "'1
"678 $
:2
. (Hardware Definitions) 0!
?,
@A
31 ?,
"
">
' ) I/O 4 ") ) i .
: TxD CD ">
' C *4 1B 4 1 "
#define HMI_TXD_DIR(_) PORTC_DIRSET=PIN7_bm //Set TXD Pin as Output
.(Net_LED) )
LED )D E *D@F !) G #6 2
=
4 )
:
.1 "
?,
"
Toggle Reset 3 Set
2 )
4 ") H ii .
#define HMI_EN_SET(_) PORTC_OUTSET=PIN5_bm //Set EN Pin to High(Data Out)
Vector Register H 1 "
?,
G
Baud rate / # ) iii .
2 ) ">
' ) CD "4 J
)1 "
?,
)B )
USART
:
.(1!
K
#define HMI_BAUD_SELECT 38400 //USART Baud rate = 38400
bps
#define HMI_USART_CTRLA USARTC1_CTRLA //USART CTRLA Register
#define HMI_USART_DATA USARTC1_DATA //USART DATA Register
#define HMI_USART_TXD_INT_VECT USARTC1_TXC_vect //USART TxD Interrupt Vector
?,
(Modbus Timeout Timer)
6
Vector Register / 678 ) iv .
:M@A
.)
#define HMI_MB_TIMER_CTRLA TCD1_CTRLA //Modbus Timer CTRLA Register
#define HMI_MB_TIMER_INT_VECT TCD1_OVF_vect //Modbus Timer Interrupt Vector
$ '(
EEPROM SRAM
!"
#
$%&
*
12 3
45
.0 +
, - / HMI )*$
22 "
0 HMI
7&
EEPROM 6 SRAM
:. /
5
#define EEPROM_MNU_PARAM_NO 200
#define SRAM_MNU_PARAM_NO 200
.
0<
9 8$;0 .c 9 8, #
: Modbus
USART Timer -2-1-4
:=2
/ >0? USART
(#define) 2 #
.i
1) #define HMI_USART_TRANSMITTER(_) { }
C B2
D '0 (Flag)!A- B
B2
7&
'0 Interrupt
(1
30000 > =" =2
/
5 B2
=) (EN) =/B2
=) E
$ FG2 -
. K
$< RS485 2 D 2 I
D$&J
9*$2
2) #define HMI_USART_RECIEVER(_) {}
= D '0 (Flag)!A- B
= 7&
'0 Interrupt
1$
(2
. /
5 = =) (EN) =/B2
=) E
FG2 - C
3) #define HMI_USART_TXD_WAIT(_) {}
D !A D M
J USART L20 = M B2
(3
I
D$&J
0 9*$2 8000 =" C NO2
!A
FG2 B2
.
0<
9 8$;0 .c 9 8, #
&
*T&3 0 .D K I
="
.
U0$
V
(6) (3) $T&3 =" .iii
$% $* + ATXMEGA $% & '() . # RS485 ! "
5 $ 4 2 3 ) 4 (USART 0%)) $ $* ,-
2
*> ? 4 HMI_MB_Recieve_Index = : ;< (HMI_MB_Recieve_Buffer[])
)
@ $* "5 $ "A% $ B% C DC
2C E $ ;7 $* C
6 C H# . 2 F%
' 9#
2 (Overflow)F% G
B% $K 7 L% M5 "$* 97" "- &I-) C J 2 +
*
Modbus Timer
T=10 Char
Modbus Timer Overflow Interrupt
Receiver Transmitter
RS485 EN Pin
5 "
# EP
H) 9: 5 (main)2IP
0%)
$% 2J) K) H)
6R USART
' E+) QA%
* # 32MHz " " Q* H) .2
' #! " 6 ! .#! " Modbus (Overflow) 8
=)
*%
'
>! ' ;
* ) / USART :; <4'9)!
(Frame) , H =5
4 BC
)* ! D
4E)
FG; &
). 4#?@ 4' ' !
I! & Cermate 9 9# PK43 2 HMI F
4K'
0G C>@
9#
O HMI
?
& 6 N HMI
M
?
& 6/
39#
4 40#
Master_Panel
F
Cermate HMI ?
.9G
O
?
& ;
>
! > G
9# F
>
! >O
BE
?
&
3 40#
PM_Designer Ver2.0
?
&
. A! Software Download P / www.cermate.com
,& Help F1 ! & ! + " ; < # ="
Help
.& AB&
< ? " @# 9 " $> !
.i
( HMI_Test 0HI)
" # $2 . ." G!
New (.
F File &. $$8 CD# > E
$2 76+ .(PK043 # 4.3 JI ) ." 2 < HMI J$ # $
9D# > C ?K 6 #
= $ D# > " .$
& L. ( - !."# D# > )$
> , < !>
:(Figure 12)$
. Project Manager View
$2 "&1+
( *" + Global /*
+
, - Project Manager $% &
'( )!"#
(Figure 14)., ( HMI_Test 567) "&1+
( *" .
3
:
01/ = =
(> $E
7 Panel Master . +
?$* 3=
N*/ HMI &
:
B&
Languages (&:; Project (
#& + = =%
7# )*+
PU )
L3 ! +
(Figure 19):'3 & PB
=C ! '(% <*
3 /# 6
1 . !" (Text(d)) 5 6
%& 89: ; $ <= ., 7 #
3 ( / ,' Double_Click
;/ ? @/; # > #
/ !" $ # ;/ 6 9>' ( # $
.,' !"
3 AB" / ,' %& #
3 $
:
!" Screen Botton(b) 5 5 ( 6C
$ / D$ ( 6#
#% ' 5 6$ G=C ( #
3 /# Double_Click / " $F; 5" ,"# 1 .
: (Figure 21)# ;/ Tab H #2I , # # $*;
('$*
<=
6'M9 .,' #/ ,$/
3 " # L#9 General K= #
.O ,' N=C # 5 $G / 6 Lable K= # .C
5 ( Previous_Screen
$ / # " $/G <= Q$ # ;/ '$*
/ 5 $G <= : " P
? 89
B(" FG @
M ="
$ $ 0/ 1"$
$ FG
2 .H)A
))7
. !
)< ? 0!" 3 )<
89
3
IE @
() #))9 -12 #
!"@
2 : Minimum Hold Time
.0 89 B(" "@ R@ S6 $? )<
))7 $ )< SO" 9 0!" % # $ #)-V+A . (Controlled By User Level)
$
.(Dimension)H)A
:
.H)- 4
IE HN ,O5 *$0E $ ) 4 0!" Bit Button(e) )< @ I
3
@ C0+ $
D" - * I" 0!" 0/!" ? $ @ =0!" ? $ )< !$? 0
:
/
&
0' General %- .
+
+ , $ Numeric Entry(g)
!"
9- : #
$6 (Display type)%& 78 (Data type)3 4
+ 56 $
!12
( 2 = 7 8 $6 9- ( ! (>* Range Check < ( ('#; Advanced %- .
A=
! B@ <+
C ! 8 ?@ !
( 2
;
. ' D = E"' 2 "
. !" Numeric Display(h)
#
+ %&
:
General %- . !" Function Button(i)
&F
"
" <=
( @
. G-H
; <=
$
H> ( 3 4
&
0'
HMI ' J8 ( $ 4(8 '
+ 4$
(
B@ F
. ' OP N"
B@ ) ! ( J
Compile(j)
$
. ! %& B@ = O8 4B@ Double Click ()M
6 %& ( (8
"(
A .
"(
A Offline(l) Online ( $6 $ (
#
6
,> OP )
RS485 C ( Q N
' (>*
P ( = C RS485 Q Q" Online
HMI ' D,
: (Run Online Simulation J'#; Tools ' ) Online "(
A J
$
'
R
D1 ( (
( $ HMI
@ (
$ U2 !) V> $R .
' !"
.
' F &2
.
( )! % *+
"
-/ 01 +
HMI
,
)! 2
01 PRP 1 6
78 9 # ;< Build_Panel_Runtime_Package_(PRP) 345 Panel '
'
2EF .
1
C 7 'DED 2 mehdi_solgi@yahoo.com B Email
.% ? G ?H
8 " E/( =
& 2