Vous êtes sur la page 1sur 53

abc programowania

... czyli
prawie wszystko,
co chcielibyœcie wiedzieæ
o programowaniu sterowników,
ale..


 

 2
2. Wprowadzenie do sterowania.



  3
3. Programowanie zamiast sterowania „zadrutowanego” . . . . . . . . . . . . . 4
  
  6
5. Systemy liczbowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
6. Budowa sterownika . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
7. Sterownik CPM1 firmy OMRON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
8. Tryby pracy sterownika CPM1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
 
 

 
  13
10. Adresowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
    15
12. W jaki sposób sterownik przetwarza program sterowania ? . . . . . . . . . 16
13. Odwzorowanie procesu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
14. Twój sterownik programowalny oraz wszystko to, co jest potrzebne
do programowania. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
!
 
  
 17
16. Uruchomienie programu SYSWIN 3.2 . . . . . . . . . . . . . . . . . . . . . . . . . 18
17. Nastawy projektu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
"  
# 
 

$ 20
19. Ustawienie trybu pracy sterownika . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
20. Ustawienia ekranu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
%& 
 
'  21
22. Ogólne zasady edytowania programu . . . . . . . . . . . . . . . . . . . . . . . . . 21
%( 
 


)$ $


* 
+
# *  22
%,    -
 $
 
  28
25. Testowanie programu.
Edycja programu online. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
%./  

  31
%01$    * 23423&22  32
%"   
'5
 
  34
29. Rozkazy dodawania i odejmowania, porównania danych.
  
  
 # 35
(6/  
 38
(/ +
 40
(%  7 

   
4
 
8  +  
9/:;1< 41
(($  *  *    44
34. Detekcja zbocza. Rozkazy DIFU i DIFD . . . . . . . . . . . . . . . . . . . . . . . . 44
(!1$$# 
 
 $=9 =92 45
36. Podprogramy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
(03 +
 *  7*  
 
  
Instrukcja przenoszenia bloków danych XFER . . . . . . . . . . . . . . . . . . . 50
38. Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

Wydanie 1998 r.
1




* 
 
$  +$        

  $   +
  *    # '
  
$   

  

+ $*     # 


3      $# > 
 
 
  
$
    
  
 
8
 
  
 $
 
  
'     8 # 
' 
  
$# $#     +

 +

 
# >    
# $8

 
'  

' 
  /#    
# > 
$
  
 $# 
 

 
    
 ''+
'+

    +$   
  $  +
 +$#

+ 
  = 
  $  + ?
 
+@ 
#  
> 

  
$ ?* 
$* @ +$   $
 
 $
   

programowalne (ang. PLC - Programmable Logic Controllers) .

A 
8

 
  +8  + 
  

#
 '
* 
 
+ *+
'
 B 9-94C

 +
+
'  
 
 #D

 budowa i zasady funkcjonowania sterowników programowalnych


    
 
  
   $$  
 $
$ 

  o w a n i a
SYSWIN3.2
 podstawowe operacje i rozkazy sterownika CPM1
 sposoby transferu programu do/z sterownika
 
8+
'   
 
8+
'
   

 
 $
       
 # $*


 
 $

$
+ D

  

'   $
-$

 
* 
 
+

$

 
 E1C(%
 o p a n o w a n ia p o d s ta w o w y c h o p e r a c j i i r o z k a z ó w d la s te ro w n ik a C P M 1
 programow an ia pr ostych algor ytmów s terowani a
 
 
$
  *
 a rc h i w i z a c ji p ro g ra m u

Wydanie 1998 r.
2



    

4
  
#     

 
>   $ 
     

*+ 


naukowo:

           !!" #$ % 
zwanych sterownikami programowalnymi&  #$   !"   '    (
!" )!*+!  !",  #!!"      +! +-  +-  !"
  # %*- programu  ! *   #.  !" %*- '% %/
 #'- #  *!  !.!+-+-.!0!" '!".!"
do setek a nawet tysi*!. %/   sterowanie  % !#'%  dyskretnymi oraz tworzenie
%!"   &     +!+-    * %/ * 
 /  0 %/#!#!!" -&&&


8-   

   
 
#  

 
+
  sterowanie i program A 
 
   + 
 $  ##   +$ $   
'

*+
 -$ +$  $+ $ 
   ' $
8+   

  
 $#  
  +  *8


 $ )

A    


 # - 
 * $
 > $     

 +$ 




#$B
       FC +  # 
$
  #
+  *+B  
8* 8
 >  
* D

C  
 $  +*  
$ 
#  $      -
 
  +


'
  *3 -
  
   

  
  
 

-   4 ' 
  '  $ 
-     *+   +$
 
 
 


   $
8  *8>+D
POMIAR PRZETWARZANIE REAKCJA
'+! '  '+!


$#
  
'
8  


> $## -
 D
  !# *. %  '+!!"'%
!' ! # '+!.


8 - +8 *>$  - 8   '
   #  '

 +

 
  +

  
  $8
 
'
 3




Wydanie 1998 r.
3


   
 
$ -$

 
$ +$  
$ 
   '   
  
 
+$
  
   

  
  *  )     -*   *   *
 
    

#$+ 

3  +
 
  
8 >  +
  
*   
  $
 
  
  



* 
 
++$ 
8 
 +
> 
*  $ + $# 
 
 
 * 
  
'   
 
*   '   
*    8 $8
 +# 
 # 

+
 $ $
 

 
$  
 +    +
  
  * 
$  *

  
+
 *  +   # 
 
 


 
'  
  +
' 

 
 
 $ + 
8+ 
 

 

 
   
   > + 

  $
 
 
  3 +    
 

  $ 
$ +  $ 
 $  
' 
+
 
 + #
##>
 
$$#  *

'+
  
#

  # 
'>$8#

    5-
 G
#
  
$$$  
 

 
 
$     

  
 

 
 C 8 
    -
  
   +    *   8 +
   * 
+* $-$


 
8+ 

3. Programowanie zamiast sterowania "zadrutowanego"



 #+$ 
 
 
 +

 +  


kategorie:

 
 
$#+
 #?
 $
@
 
 
 $
$#  
 
+?

 
+@

C 
#*8
     $

SENSORY

STEROWANIE
PROGRAM
STEROWANIA

/&J,;E
UK£ADY
WYKONAWCZE
WYKONAWCZE

Rys. Porównanie sterowania „zadrutowanego” z systemem PLC


 H $
H 
$    $   7
  8 +
 +
    +

  +  -$ 
  I$ 
   +
 # 
 #
 *  
 +    
  

 +$  * 
++  7   7  

  
$    -  
 
 

$ 
 +
  
  '
 
#

$ ##

 
 
+    # 
8+
'> 
     

 $
 *8  

)
4 +   ' 
 
$  
)
  
   
 
#  
*   $ *

 
  *  '>5 '> 
  
 
 
 
  
   
   
 #

Wydanie 1998 r.
4



+
  $#  +
 
#   
# $
      *    
$#  $#       $ 
 
   HH     
   
$
'+   
*  
#  *  '
  -$ +

  
  #    '
   #  

A*  


 H $

H
  
$#


 
+D

  
  
 
 
 

·  $ 

'> 
     
 

   #

projektowania systemu
·  -$
 # 

 

ne (np. w trakcie rozruchu)
· $#$
+ + #
-$?$+  


+ @   #


   +
$# )?+ 7 
@
· 
$

 
 

'>
· + +  -
 $8  + * 
8


  
  


·  

'>  -$ 


$   
#
  +  
$
* 


 8$
· proste i szybkie zmiany funkcji systemu sterowania w trakcie rozruchu
· 
8+
'>
 
 + 
8
-$
 $+ 
· 
 

'>$
· niewielkie gabaryty sterowników
K
8+
'>
  u i algorytmów sterowania

4
 8    
 $  
  #      +  
$?G* @  * $
'+>  
   + 
$* 
)

Zdarzenie 1  1 '%


L# G C +8

 >   H  ' H$$  

#+$
 +
$

>  +
8 

 >
# 
 
 
$$#>
 $+       $
 $>'>
 $
Nowa instalacja, Kompletowanie elementów, 9
8  
 >

$8
sterowanie niemal przygotowanie przewodów, program sterowania
identyczne do budowanie szafy sterowniczej
poprzedniego  +8 #>

#$
Wprowadzenie Potrzeba instalowania nowych C +8>+
'>
nowych funkcji elementów, nowych 
 $$  '>5 '>
sterowania przewodów, znalezienie pozostaje niezmieniony, brak
miejsca i przestrzeni co $ '>
#
wymaga sporo czasu  

$ 

i w prosty sposób

A  )      


D 
     +


       !   "  


$#  
  +
' +
8
. G  $8   + +    
- 
  +


*
mikroprocesorowych.

4 $$#

 +
* 
 
+ 
$$
$# )M $
N 
*
 #   

)

D

· $  +
'> 

)? 

8

+
>   

+

@
· $8 + 
'>$?  +
$
 
#  

* 
 
 $
sterowania)
· relatywnie niskie koszty systemu oraz jego instalacji i uruchomienia

Wydanie 1998 r.
5



K1 K2 ............. K3

 
%&'()*+,-./&'01'2-1('3&'
K1/12 - K2/13 000.00 000.02 000.01 010.03
K1/11 - K2/11
......................

 


(/)*+,-3&- 41,*/,-. ,-31,35+6


M
M

 TEST
TEST


GOTOWE

GOTOWE

4/  $G :BG





# $ 



  # 
  
8  
+>  

$D
 -

   +



   <,


cyfrowe analogowe
1-

0
czas czas

Wydanie 1998 r.
6


 %G 
$# 
'C?A,JOBA@II?EJOBA@#
 
' 
 
*8 +

 
 +# +#
 #)
'+   $#
* D

  $ P

'>   # $ P# #

  $6 P       $# $ P# #


  
    $#   +   %< C 
   
' 
#


'  
$$ -

  
  
       '$  
 
 6<   

jako stan 0.

7878

 *
 
'+
 #
  
'6+$    =
 
jednostka informacji.

='+  
 #  
  $
# 
 
*  ?
@ 
# *       * $
8+ 
  +  
'+
 * 
'6A G * 
 +    
2n 
' % $
8+  # 
  

00 - informacja 1 
# 
 #
01 - informacja 2 G# 
 #%G 
 #
10 - informacja 3 G# 
 #%G 
 #
11 - informacja 4 
# 
 #

A " * 


  > L 
 +     %!. 
' 
'6%!!

;  
+  
  
 . *     # 
  '  
+ 
 + (%  #

'+ # 




* $
'

C$   *  

  
 $$ 6
 
  
 +       $ 
  

  * 6!L$6    # ?:L@ 


$  8
!      # ?9L@

 
 * 8 
>
  
 +
*  +$  +
*  +$  8 +
*  '+ +

    
wypadku 210 
$

 
6%  +$ 


Bit......................................................

L  
'>? @
0 lub 1





bajt bajt

  

B
 8  
 +  
$##   ) 
  *    *

'>  *   
#     G $#+
 
'6   +


8
    +

  #  
 $8 #>

+# 
'> 
'+
   +
  3$ 
 
 
 >   
8+
' 
' 3
    

 
 
 $  $  8 
  +


 
8 > 

 
$#
  
  
 +    
8    
 

#
$ +>

+# 
'>        $
0..10V.

Wydanie 1998 r.
7


1 +
'   +


# >D
- temperatura -50..+150 oC
G 0..200 l/min
G 
'>


500..1500 obr/min
+
'  
 #   

#

  
*  +$  
*  

     +
# +$  C $  $G!6Q!6oB
8
 >

  #  $%6,
zatem pomiar temperatury +25 oB  * 
  # $
 
'6,

-50C 25C +150C

 200C 
 16 mA 

   *   +

 
$
 
 


$*   +

*
 
 # 
   +


5-
 +$  -

5  +

 9
$    # +
'>
+# +$ #  +  +      
 
 = 
8
+
'>  +

 $ 
'   
   $ 
'   * 8 +  $#  

'>  +8
  
   $ 1      ?   +
'> *  
 
   
+ @
$ #
 
'>     :  * 
'+    
 +
'> 

 +


5-
 +$  -

5  +

  
'  *   
 
 +
'> % *  3 

 +
'>
 +   %6"+$ 6. 
'  $ +   $  66<
    
""<

$ + $# 
'>  +

#


5. Systemy liczbowe
/# -
 

 -  >+
    $#  
' 6
            

      
  

9
8  *8>(

$+

D

cyfry
podstawa systemu
waga pozycji cyfry

 
'> +
          
 $
# 
     
+ 4$  $  
+

#  '+


4
 $#   
8    
     >    
' $ 

 3
 
'# $#D
- liczba cyfr jest równa podstawie systemu
(+-* !0 %  2
( /! !#  ' #!%!    %
p i wynosi pk np. k=2, p=10, pk=102
(+-!!   %+!!0%/!"'*!. #!0%#

Przeanalizujmy krótko systemy decymalny, binarny i heksadecymalny.


system decymalny
cyfry 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
podstawa systemu 10
waga pozycji cyfry 
 + y 10; 100=1, 101=10, 102=100, 103=1000..
 liczba 205

5 x 1 = 5
0 x 10 = 0
2 x 100 = 200
-----
205
Wydanie 1998 r.
8


system binarny
cyfry 0, 1
podstawa systemu 2
waga pozycji cyfry 
 + %R%0=1, 21=2, 22=4, 23=8, 24=16, 25=32..

 liczba 205 zapisana w systemie binarnym


  +#   $#
D 11001101


 8D
1 x 1 = 1
0 x 2 = 0
1 x 4 = 4
1 x 8 = 8
0 x 16 = 0
0 x 32 = 0
1 x 64 = 64
1 x 128 = 128
-----
205
system heksadecymalny
cyfry 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
podstawa systemu 16
waga pozycji cyfry 
 + .R.0=1, 161=16, 162=256, 163=4096..
 liczba 205 zapisana w systemie heksadecymalnym
     
D CD


 8D D x 1 = 13
C x 16 = 192
-----
205
zapisywanie liczb w kodzie BCD

C +8 
>
 $+   

#
$LB;=
 *-
 #      & 8  -         
    

#  -
binarnych.

0 * Reprezentacja BCD


0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001

: %6!    


LB;    +#   $#
D 000000100000101

 8D
system binarny 0000 0010 0000 0101

   

system 0 2 0 5
decymalny

Wydanie 1998 r.
9



6. Budowa sterownika


 
+#$#  
 $

$

$#  $$ 


+D 
 +# ?B /@     #
  
$ '>5 '> C  $$   

 * 8


 
    #   
$   ?2@2 49
  $#  
 $#
G$#
 
#  + ' 
  +      $ 
-
$ $$  $  
$

 *  
     
  $
 #

 
 
  #  #  #

 
  
  
      
  #$ 
 *  #   * 8  +

  -+ 
$ *   
 +*   

 
  
' #    -
  

$  ' 5 '  A  
$*  ' 5 '   
  *  

#


*  

+$#      $# ) 
  $# $  
  '*
 
$*  # * 8 
$  +

 + 
 5   5 $
8+  #    +
'
analogowych.

Rys. (PLC)

9
$ ' 5 '  
#$ 
' # 4
 #  
  +8  $
##


 $ niewielkich aplikacji nie ma potrzeby konfigurowania
*
*  
 
'> 
 

$
$*  ' 5 ' 
 *  ' 5 ' $8
   +8  $ +  
>
sterownikiem.


$ 
* 
-$#  + 
   
$*  ' 5 '  9
8    

+
  >3

 
$*     $#
D

· 
$-
? '  ' @
· 
$  +

? '  ' @
· 
$ +
?+
$  



$  
LB;$+ 


$

$#@
· 
$## 
 +#
?
 @
+$  
  +? 
w sieci).

   $


$*    

$  $
 '  
$ 
'>
  

+
 +
' -   $       
 
 ? $8


  *) 
8+  $8 *8 
 *  +
 + $
*  @
      
# 
     +
 ) 
$ $@

Wydanie 1998 r.
10


C  


        8   *  
*  
 
+ 8  >


*  $
 
#D
G 
'>    
'+    + 6%$
 $
G +
'> 
 $
G+
'> '>5 '>-
  +


G+
'>$ *  
+

G
 +
'-* 
$ 
G $

$ 
 

$*  ' 5 '

S +
8  *8>$
* D
-   


$
  +$  + * 
+

-  9  


$
 
  
+


+
$
-   , 


$ +
$- $  $  #
+  *

+
R
#
 
  

   
* ' 
 

7. Sterownik CPM1 firmy OMRON



 B 9  +8
 $ 
*  
 
 *
 -
 
 
 
 
   
 $

-$
 
   
 
 
$H




B 9H

 
$
 

 
*
 



 + 

 #D

zwarta budowa
bogata lista instrukcji (rozkazów)

8+
'>
 $


8+
'
$ 
szybki licznik, nastawy analogowe

  


 
   
  $8      
+
 
 
technologicznymi, lokalne zbieranie i transmisja danych.



$*8 
 +
 
$
 
$ '>5 '>  +



Zacisk uziemienia roboczego


,
:  Zacisk uziemienia ochronnego
zasilania
,;  9 $
230VAC lub 24VDC

<
 9 $
Nastawniki analogowe

,: 
 : 
rozszerzenia
<

sterownika
<
9 $
,

   #=/+
(tylko typy CPM1- CDR-A) ,;  9 $

Wydanie 1998 r.
11



CPM1 CPM1A

:  '> '> +8 


 

  
D
6 '>5 '>DB 9?,@G6B;T
%6 '>5 '>DB 9?,@G%6B;T
(6 '>5 '>DB 9?,@G(6B;T
6 '>5 '>DB 9?,@G6B;T

L  
 8  
* B 9 
'>    B  
  
 $ 
60%G
.% '    6(   '> '> 
#

 
D

    
  '
%<?Q6U5G6U@ '  7
+$  





'> '
%+$ 0 
#
? 7%!6<,B5%,%<;B5%,@
(tranzystory 30VDC 0,5A)
#  '
!G%,
czas reakcji max. 2ms

> 
 B 9
$6%

8+
'# $
$!%*   
+
$#  
 $#


 
$ $$    
 8 # 
8+
' 
$  
  
 B 9

 8
   
 # 
  
  
  4%(%B 4%%  
'>   
8 >
$ +
   
'>  %66 $  

8 >
#

 
-$ 
D
8 * 8
#>

 +
 
C3+$ 
$

 B    V
:



# 

 
 + #

$ B  
    
#) 
 

   
 
 
$ H
 




B 9H
  !.

 

  * 8 
 
  +"
 8$
 
 

#
*

 
 


 
 
  # 
 
 3  8 
 
'+> 8    $8
B 9$$   '

$ -

 
  8
* 94CG

 
     
 E1C(%  

   8

 *   $  

 
 
  
 8
   
 
> 
 B 9     

8+
' $$

   

   

*   
 
 
bardzo rozbudowany system pomocy tzw. HELP. 
* ?BW9B%66V@

Wydanie 1998 r.
12


;

$# *
 
$
  
8   $ 8> 8 
 B 9  $# 
 + 

-$   
8 > 
 
   
 
 
*  C       8 
  

  
  +      $  


8. Tryby pracy sterownika CPM1



B 9
8 
>  D
Tryb PROGRAM - tryb ten wymagany jest podczas dokonywania zmian w programie sterownika lub w nastawach
B$?  
 $  
 $@R ' 
 

 #   #
?II@
Tryb wykorzystywany w trakcie projektowania systemu.

Tryb MONITOR - tryb ten wymagany jest podczas monitorowania przebiegu realizacji programu sterowania (status
B@R$
8+
'> 
     
+

' *  *  ' 5 '  * -+ 

'+* $ *  

Tryb wykorzystywany w trakcie modyfikowania i sprawdzania programu.

Tryb RUN -   +


     
 $ 
   
8+
' 
      *
 *  ' 5 '  * -+  
'+* $ *  

Tryb wykorzystywany w trakcie normalnej pracy systemu.

>   8
  
,  
8  
  +
> *8 +  L  
$     +  

 $


$#    
  +8 

> testowanie, modyfikowanie. SYSWIN V.3.2. pozwala

  
  
$# 


 
  > 
  
   $8
  
+$
 
 
   ' 
-
 

#$

+
jednostka centralna, jest automatem cyfrowym, zatem 
 )

   
'   6    * 8    
  
8 
>   

  +8 


> 
 $
 
+
 $       
Przygotowanie programu w takiej postaci   +  

>  +
 
  #
 $8  +# +  $ 
 # $

  
  
   8
 
   
 $8

$
 

= 
 
  
*  *8 
$*  *8# 
   
+  


8  
 > +


 
 D
G   
G #$#
 $+
?LAD)
G   -$G   #
  

#  +
 +
* -$?CSF)
G+ 
 * G
    
#+ 
 *   #* G
 
wraz z parametrami (STL).

Wydanie 1998 r.
13



 B 9 
8 > 
 
     

 ;   
  -$
 #   $8

 8++ 
 * =  8  
' *    
#

 
  

  
 H$ 
H +
 * # 8  





$    
  
 
  
#
  >  
 8 
8 -
 


'  '+
 * 

Co to jest rozkaz?

4
     -  
 $  +
   
  +# 
 
'+ #

  #
  *# 
 
 
 > A 

'> 
 *         

 
 4
 
$'>
 #+

 
  ?G@

Rozkaz

kod operand
(jaka jest operacja, jaki jest krok?) ?    
'> @


    
 $;9666

* 
 66?1466@ $#D

MOV DM 0100 010


kod operandy

Oznaczenia:
9<G? 
X@*G

'+ #

 $ 
;9666G 
 $ ;9


 666
66?1466@G 
 $ '>
 66

:  
 *  
  B 9  
  
    
  + "
 
  H
 




B 9H3 8 
'>
 * 
   

 

10. Adresowanie
 

 
8   
  
  

# 
  
' 
*   +
  +$ $
8+    
  + 
$
    +
   $



*    + * 8  
*+ '  '   +8 
# 
> 

 
adresy.
  $ 
  B 9 '
  '
   #    ?      
'>5 '>@   *  ' 5 '  
 14
,   - 
 ** 8-$
   $ ?;9G
  @

 $$
 $ 
  


  $ $ 
++ 6!

   #  D
;966"G 
   
$66"
V46.G 
   * V4
$6.
666%G  $ ' 6% 

$66

Rys. Adresowanie

Wydanie 1998 r.
14


(! 

>
 +
 # #
 $;+ 
 
-$

 
 $ >
    +
 
   

 
 

+$#   #  #  # 
 
    +
  
$    
 $ 
  + * 8
   $8

 -
 


'  $$ 
  
 +  $$
>   -$  
$#   
   
-
 
  $ +   1-
    #  #
    
   $$  
programów.


 
 


  +   8    
-$          
*

$ -
 

$  '>5 '> * 8 
-$ 
 

   

   
 $  
  
 
 
        *  
' 
 
 * 
+)  8  +
    
*     
  ;


      
  
     +$  8    * 


 *8  
  
     
+     
$ *     *
 $

  
  * 

*

 
' 
 B 9 

  
  +0
 
 H





B 9HA
   
-
 
 $
*+
* 


'+  
$ + 
'  
  
 *  
 * 
 * *
 
 #  
$
 
 
 B 9

&+ -
 
 8 
 *  
 + $8
  


8

· Obszar IR
 

    *  
$*  '>5 '> 


   *  '>5 '> I+  ? @ 
#
> 
 

+  
   
  * 
 #  -
   


# 

$
 ' 5 ' 

· Obszar SR
   
#  +  
$   B /  
 # $ -
 
# $ ) 
+*  
   
    *     *  6    *


#

· Obszar AR
#
$ B / 
#$-
 
#$# )- 
#
$ +
  +
 $+$-
   * *
 
  
 

· Obszar TR
 $
8+  #      
 ?
' @  *     
   * -$
+
 
  '  
 
 $
   * 


· Obszar HR
   
$#  *    8 
 #$  +   
   
# > $8   
 -+    
 + 
$#
# 
'>

· Obszar LR
  # 
   B /  
-$
$ $ 
*   $$ 

  
-
 
 
 
 
 


· Obszar TC

   # 


  +

 $  
?
 319319VBC3BC34@

· Obszar DM

  
$#
  $  5
 ?4@ + 

+
 
  
 
 

$ 
 
 R#$-
 
#$ )
   

ustawienia portów komunikacyjnych, itp..
Wydanie 1998 r.
15



8 

  *  
 
*+
 * 

Obszar Rozmiar Zakres


,  '
 000.00-009.15
,  '
 010.00-019.15
IR 640 bitów IR200.00-239.15
SR 256 bitów SR240.00-SR 255.15
TR 8 bitów TR00-07
HR 320 bitów HR00.00-HR19.15
AR 256 bitów AR00.00-AR15.15
LR 256 bitów LR00.00-LR15.15
TC %"$ 
5+* TC000-127
DM 6%
DM0000-1023 (RW-zapis/odczyt)
DM !%* DM6144-6655 (RO-tylko odczyt)

12. W jaki sposób sterownik przetwarza program sterowania?




 
  
  $ 
 > Gdy jednostka centralna przetworzy ostatni rozkaz
 
   
  
 
+
  
 $ $ 
) +$

 $$
$ 
  

   programu, po czym program jest przetwarzany
przetwarzanie programu. Podczas przetwarzania 


 
#$ 3    
'+  
jednostka centralna "pobiera" rozkazy umieszczone  # 

G+# 
  
  #
   
 $ ?  
 $   $  z podstawowych cech funkcjonowania sterowników
w tzw. liczniku adresu). Na podstawie interpretacji programowalnych. Czas przetwarzania jednego cyklu

$
 $ 
 
'+  # >
  
     $ +$ ? 
# $ +

  + 
 $    
    $    +
 # 
    
  +
'&
+
   #   ,4@     +8$ 
8 
'+> 8
  
*  G 
  
)$ 
 
 
 $   +$  $#  *  
 

    
*+ 
 *  A      +8

$
' 
 $
 
  
'   
jednostki centralnej.

 +$ 

 

+  $+$
   
 $8 1
    

$ 

$ +
  $ +$ 
8 


> $  H $ 8 H  '  )
4  
 
$ $+$
+  '$  

L #  $   +$
> # 
'> +8#
 $ $
)


-$ 

$ 
 +9
8 

##>
 
 +
 $+$

 
$ B 9   +$  


 
8  $ >
$ +   +   +$ ;  

 

* ;9..";9..

 ,91YZ 4S4,9/


 BAO32&
CYKLU

1. rozkaz LD 000.00
2. rozkaz AND 000.15
3. rozkaz OUT 10.00 CYKL
........................................... PROGRAMOWY
n. rozkaz END

KONIEC
CYKLU

Wydanie 1998 r.
16


13. Odwzorowanie procesu
 -$

  
  
 
+
      
 $  +8  $$>
  



 
$  
'  +$#       
 $ 4

 +

   
 $
 

  *  *  '
C 
#$ 8 
+$
   #       +
        
 $  $

   

' 

 *  *  
$  ' 5 '  +
H
H * $
  



 
$

   '

 $   




$ '>


) 8 
+$ $ 8 * 

$*  '


&
   # 


 
$# $#D

G  +$  ' 5 '  # 


 $
G $* $+$

START
CYKLU

Odczyt stanów
 '>

Program Odwzorowanie
sterowania procesu

Zapis stanów
 '>

14. Twój sterownik programowalny CPM1 oraz wszystko to, co jest potrzebne do
programowania
4

 $
$
 
 
 B 9 
 #>


  $




    
B 9
 G ;
  +    
 $ $ 
8  
 >


 +
;$8$          + # 
  %<


 $$+ 
*  
# $+ 
$ *  
   # 

$ +$#*  # 6<+$   $    
   8 * 
%<
  #

 
 
'  6  7*   #   
  
%<  +8  *> *+# $   

#8> 
 +  

C +8* 8  > 


'
 8

 > #
 $ +  



?(
    
    

= $8+   
 

 

 


 $
 
 


#
  
 
3 $#    ' 
$ +  1L9 B   *     +
>

 

  
 E1C(%?
 
  

>
 (%@
Wydanie 1998 r.
17


1 +  

 
   
   > $8

  

*   8 
  

$$
  
 $ $[   G   +  
  '+ # 
$   
+

  #   +  +8

 > + 

3    >    


)$  +    >
je uruchamiania programu w trybie CPM1. Ten tryb
$$      
8+
'
 
   

 
 B 9/$    
B 9
   
$ +
  
+  )
 




$$    * $ $
# 
> 
' *  +8 
 >  

$ 

CPM1 do pracy.

1. '   32   !'#! % +!!"&


2. '  #! 32 ( %  & 3/  -  432( 567  /  !
jako KABEL 2 (rozdz.5, str.20 opracowania "Sterownik mikroprocesorowy CPM1") wraz z konwerterem RS232C-
CIF01. 8 #! 32( % &
3. 9#! !*! #!   32 %&
4. 1!"%'%:9;<&7+ '0!%9 &

16. Uruchomienie programu SYSWIN 3.2



 $$
$

 
  E1C (%     
$  
      

 E1C (%
      #   +#  
  $ 
# >    
8     *8> +
  
 *  * # $ *  $ 
      

 G 


 $#
+
 
 

;
'+$ $* 8  
# 
  $$  
E1C(%
 +


 
$   #* 8* # #  
# 

='+ 
#
 
-$

8+ 
$  
  

  
8+
'> -
 
 $5

 

Wydanie 1998 r.
18



     

 
 E1C (% 
  #  
$  +$  8    
 $8

8# # 
    +$          ) &
$    +8 $ 8 '+ >  

>


   * 8    

 
 E1C(%

17. Nastawy projektu





$


 >
 


    C  #* 8  
+  $   
#   


#  $  -$  PROJECT SETUP z menu PROJECT, po

 $*
  

  +

Change Project Setup?$
8@

Wydanie 1998 r.
19


W oknie tym szczególnie istotnym jest wybór Series (C), PLC Type-Model (CPM1/CPM1A), Editor (Ladder)
oraz Project Type (Program) 8   

 $    
 + 

B 9 +8#


B
* -94C
3 

  +


   
 $


$-$#NEW PROJECT z menu FILE.

@  
:
  
 
=8+
#
 

$G  
# 

#
 #
+$ 
  $
 
  
 
 > 

#

   
#  #
  +8  dialogowego Serial Communications Settings, która

#$ > 
    
 
 $-$
COMMUNICATIONS z menu PROJECT.


$
8+  
'+D
1. numeru portu szeregowego
2.  
 ?
'+66@
2.  
' ?
'+.66@
3. 


$ ?
'+,B110 2X %
@

  
   + B 9#  
 $$
8

Rysunek (Serial Communications Settings)


$ +$  * 
#  +8

 >$
#  

#$Test PLC='+

#
  
+$Status
 
$ connected  $ +8$ >


   
# 

   +   


+ 
#   
#  B 9 G 
$ B 
# >

   $
ONLINE, -$#CONNECT+$ 
#
++-
$?Communications Connect@$



19. Ustawienie trybu pracy sterownika


3  
 
8 $ +>-$#MODE z menu ONLINE.
I$  * 8
# + 

$
 '$
PLC Mode.

C    
  

  +

 Change PLC Mode   

$  
$  $   ;+  +*
$$   
 
 $ +8   > Monitor.

Rysunek (Change PLC Mode)

Wydanie 1998 r.
20


20. Ustawienia ekranu
/8
 
8

 >   $ )  $   +8
'
 
     ) 




8$    # 
 
  

    $
+ *
   
 B 9 8    $   $ +

 +# $  $ ;

$  
 -$ 
zgrupowanymi w menu PREFERENCES. &
+
   +

    #  Close, co powoduje
* 
'  
  )D

DRAWING - ustawiamy wszystkie parametry aktywne, jedynie w przypadku opcji Ladder wybieramy Show both

EDITING - ustawiamy wszystkie parametry aktywne

WINDOWG$        #Show Network Bar, w przypadku opcji w prawej
'
   +


   Keys - Functions keys, Keys - Functions keys, Size - 2 rows

OPTIONS - ustawiamy wszystkie parametry aktywne.

Ostatnia funkcja OVERVIEW MODE w menu PREFERENCES $


8+     
 +
'  $ 3  -$

  8 $
?
 Overview Mode).

 
  *> $  8       *     
             8   
 8   
8 >

 

'   
   +




A    9



A    

 >   
  
      
   
 
 *
 4 +$
 

#-$CLEAR MEMORY z menu ONLINE     
 

 
 & 

 * $  
8
#
  >    


-$# SET (menu ONLINE)    
#   >   +$  
  
'  
  
+ 
8
>

 
    
 $  $$
 
 

& 
  
'   
 $  $  8    
    -$ 
 $
  
sterownika (funkcja DOWNLOAD PROGRAM z menu ONLINE).

   
'   
 $ 
    +
   

# -$ UPLOAD PROGRAM z menu
ONLINE. C    

  
   *      
    # $ + 
  

 
  
 B 9

22. Ogólne zasady edytowania programu







 $
  +8

#>
 
  -$ NEW PROJECT z menu FILE i
ustawienia parametrów projektu w oknie Change Project Setup.
&
+-$
 $
 # 
 
+
 \network’ów”
+#
$

w bloki tzw. Main Blocks.
Kolejne network’i # 
    

# -$ INSERT NETWORK z menu BLOCKS, kasowanie aktualnie
wybranego network’u $-$#BLOCKS, DELETE NETWORK.

Wydanie 1998 r.
21



3     
8 * 8
##>
$$#
 Insert Network , Delete Network
$


   
 *  -$ 
8
 >    

# $ FUNCTION,   
  # 
$
 
funkcje podstawowe (BASIC INSTRUCTIONS), przetwarzania danych (DATA INSTRUCTIONS), matematyczne
(MATH INSTRUCTIONS), logiczne (LOGIC INSTRUCTIONS) $# (CONTROLLER INSTRUCTIONS),
systemowe (SYSTEM INSTRUCTIONS), wymiany danych (COMMUNICATIONS INSTRUCTIONS). Ostania z funkcji
(INSTRUCTIONS LIST)  
$
 


B'>
 * $8  '$
 * 8  $  

  $#
  

  +  
  $

  -$ #
 
   $ 
 FUN  
      

    *  

  +

 Function,   

# *
  +8 $ >

 #    -$
(przycisk Select w oknie dialogowym Function@  > 
+    *  -$ Data.., o ile funkcja takowe
parametry posiada.

C +8   >


     
 -$ +$   H# $H -$ $ > $



 
   $ -$   > 

 
+
='+ 
   

 

-
$
$8
 
$   $ 
  +

 SYSWIN
Error.

I$   



  $ 
   $    

 # * 8
 

 '

 + -$+$ 
  + C 
  -$ FUN


  '$ +   I" -$  
#   
#  B 9 G 
$ B  $$    
  '$
klawiszy Shift i F2, itd.

   0 !!"# *  *!!"&

B    
$  C8       ;    :
styków

 # $8  -
 

'
$

 
  E1C(% 
8 #>



  

 
 $ 
  C 
   $  $#
  '  &  &%

# 
-$    
  $+


24 V

S1 S1 S1

S2 S2 S2

S3

K1 K2

Rysunek (prog1-sch.elektr.)


8$  
 ' & $  $   '
% #*8
 +
'&%$    *    '$ +
6  ' %( 
logiczny 1.

Wydanie 1998 r.
22


Schemat elektryczny stanowi jeden ze sposobów przedstawiania funkcji logicznych.
8 -$ 
8
* 8  > 

# +-$*  )+
 $+

 8 
*
-$
'+ #  '
# 
 
'+


Tablica funkcyjna Równania logiczne Schemat logiczny


S1 K1
S1 S2 | K1 K1=S1 * S2\ + S1\ * S2 & >=1
---------------------- S2
0 0 |0
0 1 |1
S1
1 0 |1 &
1 1 |0 S2

S1 S2 S3 | K2 K2=S1\ * S2 * S3
---------------------- S1 K2
0 0 0 |0 &
0 0 1 |0
S2
0 1 0 |0
0 1 1 |1
S3
1 0 0 |0
1 0 1 |0
1 1 0 |0
1 1 1 |0

A ]
    

'+ $*   #   #   8 


   *  '
        


 $
 
*  -
 -$
 '

+    

  -
-$
 
8 >
   8  

programu sterowania.

J 
 $ 8>8
 
 

#   $

  
 +8

 $+

 
'#
  
$+ 
'  ' 


$ $
 $

A  
 
  
 8-$+
$
# 
> 

% ( & &%
'+
 '   '   
-$  
      $#

# 
 D

S1 - 000.00 ?  '


 @
S2 - 000.01 ? $ '
 @

S3 - 000.02 ? '


 @
K1 - 010.00 ?  '
 @
K2 - 010.01 ? $ '
 @



 
   *  '>5 '> 
  
 
   
  + 6    *
'>5 '>  $ 8 
$




 8  -
+'   +8 -$ +
 &  &% $  
 
>   $ 
+
„network’ach”.

;  *%/'-'/ !&

1. 

$

    -$NEW PROJECT z menu FILE
$
identycznie, jak opisano w rozdziale „Nastawy projektu”.

Wydanie 1998 r.
23



2. W przypadku-$
  +  ' &
' 
>    # 
normalnie
 
 +    '
#
#
* 
 + #-$+
 +
$+

,C; '#* 
+

 -$$
logicznej OR.

3. 
$ 
' 
 >+ ## 
Open Contact  $  


'>
+$
network’u 
+$

 $



+ 

   

  +

Contact i w polu Address +8 
>
# 


 66666
 #>OK.

Rysunek (ekran z wprowadzonym stykiem 000.00)

4.

 
 
 
  
+$
 + 
Closed Contact z pasku
  

$  


$ 



 

$ 
000.01

5. W kolejnym kroku wprowadzamy symbol cew '


Open Output  $  


i przypisujemy adres 010.00

Wydanie 1998 r.
24



Rysunek (ekran z wprowadzonymi 000.00-010.00)

6.  * * 
+
8
 * ]
 %
8  
> * 
  $
8 wprowadzonego
$8

$    
8      $  +8    
> $    

# -$
NSERT ROW z menu EDIT $ 
 
8   *  $ aktualnie kursor.
W drugim przypadku, tzn. wte  $'>
* ]%
8 +8 #> $
 obwodu

 
 
# 




+$ +8+#> 


Vertical Short $
>$
   

+$
*
#  > 
 ='+    
 

#   $
  
 
  +8

 
>
+
# 


 #$8

#$
#
  


Rysunek (ekran z Vertical Short)

7.

 
 
 
 
* 
8
 ** 
# 
  66666
i 000.01.

Wydanie 1998 r.
25


8. &
+#-$$## '&% 
 * 8   
$ 
  A 
jednak zaczniemy 
 
+
+$

>
network.
C 
'   

 >

+ 
Insert Network $
 .

 

  +

Insert Network, w którym trzeba okre'+> 
 network powinien
 
>
8?Above@
8 $ +   
?Below).

Rysunek (ekran z Insert Network)

9. 
 
-$$# '&%
 
 
 
+* D
normalnie  
 ** 
 +
    * 

 
D66666
66666666%B   '

 
 > 666

10.  #$#


 $MUSI >$ 2C;$ +8 
> 
+network’u.
Instrukcja   
    $

 
8 #$
>  
+$network’u.

Po wybraniu ikonki   $  


    

  +

Function.
 '$
przycisku Select +8 
+
  +

Select Function   >
$ #$2C;
A  $
  $$Basic Instruction, Program Control Instructions. Dodatkowe informacje na
  8 $ * 8$2C;
8  +7> 

 V+-
 

  #
   $$Reference.


 $
   $ 
 
$? $
 '$OK) symbol instrukcji END powinien
> 
 

\network’u”.

Wydanie 1998 r.
26



Rysunek (funkcja FUN)


 
 $ 
' 

 
 +# > $#
D

4$?
 G   @

Wydanie 1998 r.
27


#' $  D 
  
 
3 


 
  +8  
+
'  
> #>  $
$
+$  +$

#-$ SAVE PROJECT AS z menu FILE - w oknie dialogowym Save Project
 +8

 >

     
'+> '8
$
     +$    * 8 +

zachowanie proponowanego rozszerzenia .swp.



  +$
  
  
  
+ *   $+$  
8 
 >-$SAVE PROJECT (menu

FILE@+$ 8 #>


Save Project $
.

  
   
 
  *    +$ *
    ' +
    $+
  + 
SYSWIN 3.2.

Rysunek (ekran Save Project)

9 #  
# 
 
 $ 
8  #>
  
  
 $
   
  -$#
DOWNLOAD PROGRAM z menu ONLINE
   *  

  +

Download program , w którym -
  $ 
  B 9 G  +8 #>
 Expansion Functions ? '  E1C@
 
$  >
 Clear Program Memory. C   +8 
  >

  $    OK. Dalej

 #
$ -
$#
8 
 #
   
 
 
8 +8
 
>  $ 
 4/C+$ 9C134 3 5 4S

 #  $
    3 5 4S 
8  * 8

 > '   
 
   -$ 
 $ = 

podyktowane zapewnieniem poprawnego funkcjonowania sterownika.

1+
'> 
  #  
$ *  
8  > 
 #
 
     8 
 

# 
  ;

$  

# Confirm all operations that affect the PLC w oknie dialogowym

Wydanie 1998 r.
28


Options
 
 $-$OPTIONS z menu PREFERENCES
 
$
 $




  '      


   +
  '  +
 +  4/C   
$ =8+
+   4/C  '    +8 >     
      MONITORING lub RUN ?
   
Ustawianie trybu pracy sterownika).

U w a g a : A 

 $

 
8+ 8+
$ 
   4/C
 $
+*  

 $
 
  +8 >$ 

    
 >
  MONITOR lub STOP/PRG.

25. Testowanie programu. Edycja programu online




   

 
  
   +8 
> 

 >  $ + 
 


    
'  +8 

#>
 #  
       MONITOR. W trakcie
testowania programu bardzo pomocna jest funkcja MONITORING z menu ONLINE. /
8+  
  H
' +H
 *  
 $   +
    

I$   8


  $

 '$
Monitoring.

Do edycji programu w trybie online wymagane jest uruchomienie funkcji ONLINE EDIT z menu ONLINE
+$  

#
Online Edit $


;

  *   #
   
 $
 B 9#  +8 
 >
 

 8,   * 8$ $ +
 +$ +8
 '  >
 
 $
 
 $   $  -$# SAVE PROJECT (menu FILE) A * 
 # -$ 


   

  * 8 
+ +
 
+' $
9
8+   * 8 # 8#   $$
  


      8
 
 
  -$
    
+ ;

$  
 
 $  
 Automatically start monitoring after on-line w
oknie dialogowym Drawing Preferences 
 
 
    
 
 $ -$ DRAWING z menu
PREFERENCES.

   #-$#


   
 $$
8

* $ 


-
> +
 
 $
 

Wydanie 1998 r.
29


A 
 
8  8  *  $
# -$ &%PS1\ * S2 ^ ( 
      ] ^ %
$#* 8  -$&P^%]QS1\ * S2 #$
B 9 +$ +

'+
-$&%

$
*
     
']^%
C  
  
8    $
'> G    
 # )  
 $ 
' 

 *  )

'+ #-$&&% 
 -$& I$
8   > $#
D

KP=S1\ * S2
K1=S1 * S2\ + KP
K2=KP * S3

A 
8
      8   
    $   

  $  +   


   +8 $$>
 > +
#Gnetwork 
 #    
  *  +
' 
 $
 + # -$ &  ; $
#  >
8 $ 8 +  +  $

uproszczony zapis funkcji K1 i K2 oraz unikniemy   


 $

  8    &  *
powtarzania w programie dwóch identycznych zapisu funkcji K1 i K2, a tym samym programu
fragmentów.  +$#
-$  
 

3   
 +  * 8 
'+>  
 $    *  ;
        

'& $ 
 >

 3 
8 > 
 '>
 =  8
   $ '  
 
    $ *  
$ 8 
 +$

 
  8$  

  +  
 $
Znacznie lepsze jest wykorz     -+   ' > *  
 


   *  * 
' 8 +
   * 
$

$   +8
'+> # 8# +

 naczników, mianowicie

'>
 $A  

  +
>-$

+
 

 $ * 

*>
  
  $ 

   


   A 

 
$ 
+
KP nadajmy adres 200.00.

1. 9#!%0 !*!) ;=;. ;=;8,%% '%&


2. 9% / ' >.%  / - %

network’! #- * ;  .


9#!% *  '%-!*?@ ; &
3. 1%/  %'%'! +!%y
odpowiednio adresy 000.00, 000.01, 200.00.
4. 30 % * 7&1 %  %! %666&66 %
zmiany adresu styku normalnie otwartego o adresie 000.01 na 200.00.
1 *!  %/ -!+*!  8  %#!

 *8%  *!!". #/!#'#-     *


 #-%  #&

Po skasowaniu styku edyto/-#!%) A", .


5.  *% ><&9! ! 0 !%  .  %
podobnie jak poprzednio, styk 000.01, po c%%#!%%%&
8 %  666&66   766&66&   %/-
      *!%  %% )  - *u
%0 '  , * ' ! % B&

/   766&66-%.%%   %

#! *'C800   %%  #  '%


ekranu.

Wydanie 1998 r.
30





 $
8 
 
 
   >   
8$$C
 +8 * 8  
>
  
$  +$

    ='+ $  8     
 

 

  
 
 
 # 
   4/C

Rys (prog.1 - obwód z 200.00)

/ 
     +
>     
 $ 
 

 +' * 8 
 
 

+'
- 3
   #* 8
    
+ *  * 
$   *
 
    
 
$
$
 
  

 8
$ 
 
  +"
 
 H





CPM1".

E4
 
 +$         *            
$  $    


 *8   $ * D$ 
$# #
$#
# ;
 
    $  #  +$  #   $ '

 
$    

 $ '





 +$  $ 8  *8    $


$ $ *  
   
 
>
 $  


 #   '
  # 3,43  # 3 
 *8 
'


 
&&%

 
    +     
  #   
 
8 A 
 
   +
   
$$ * 

  +


24 V 24 V

Start K1 Start K2
Stop

Stop
K1 K2

Rysunek (podtrzymanie)

Wydanie 1998 r.
31



Rys (podtrzymanie -rozwój)

F& 
; -1-8A--
 +' 
 *  
    $#  $ 1$ 23  423 
# > 
 

     *  $
8+  #      +8  *8 -   
 $
samo podtrzymanie. Instrukcja SET powoduje 
  =8+ $   $     

$ 
  $      ' $  423
  $ # > 

  network’u,
kasuje operand czyli powoduje wpisanie stanu 0. Obie 
8  *   
 > $ &22  *
 $   #  -
  $$  
  $ 4 
$#
+

  
   ='+ $    
    
 8   
'
$
    H  '$H -$ 23 +$  423 $*    '  &22  
  

       *   
  23  423 # kasowanie operandu.

   #
 

1+$ #-$

 $   
8 > $# D

$ 

  +
 $ $
'  


$ czujników optycznych L1, L2, L3.
C 
  * 
'+   $
'> + +#


 



, +$  L   $ $ + 
  #  * 
'         $* 
  $*G
    +
 
$ 

/)40&-7-%A&

KRÓTKIE BELKI

Wydanie 1998 r.
32


/ * + '>5 '>
# $ D
000.01 G $ :
6666%G $ :%
000.03 G $ :(
010.01 G $#
,
010.02 G $#
L

A  8  '



#
>* 
' * 

;
  $ + 
 >
8 - * 


   *  
$* D::%:(;
  +* +8 
 > * $ :% * 6
$* ::%C
8  
 >
   * 6666

 
 + $* ::%:( 8
 
  
  #* 8   
$ + $ 8 8 $8 8 $-
pomiaru.

 
$-$ +  *  '
,L +8koniecznie 
 >-$  
23423+$ &22  +$    -
 

' $
' + 
  >
  

 


 

 ,+$ L

 +$   
    * 
  
   23  423    
  &22   

$  $#

 # 

Rys. (ekran SET, RSET, KEEP-rozw)

Wprowadzenie rozkazów SET, RSET, KEEP   


  +

 Select Function,
przebiega bardzo podobnie. Po wprowadzeniu styków w grupie rozkazów Bit Control Instructions  +8

'+ # $      


$ $ > $ 23 423 &22   
  >
-$ FUN ?
    $    

@ wybór przyciskiem OK.
i ustawiamy kursor w odpowiedniej pozycji na ekranie.  

 
  # 
 I$
  +8
   > 
  $   
   *


++$
  okno dialogowe '
 666 +$  666%  
  >
Function * +8   >Select.  '$&

3  

 
   +8
 '  
>  +$   $     
>
  
sterownika.

   +    


 $  *> #$  
+
'>   * $* :
:%:(+ 
 
$+  
$ $

Wydanie 1998 r.
33


@(
   9$G 
 
   
 
  
   
 

 # -$ 



# 

$   $
5
 *8
 *   * #-$



 $   
' 


+ '  $   $#     $ 
8 $
>
 ' 
 
#   $
8+  # * 
 9
8+   * 8 
 + 



    $  
'   wierszy do 4 po wybraniu opcji Sile - 4 ros. w oknie

   
# + + dialogowym Windows Preferences funkcji WINDOW z
   $*  $
 #    
 menu PREFERENCES. Zestawione w pasku dane
zatem do ich monitorowania wygodnie jest 
# >
 +$?-$ LAOD DATA BAR

 > 


  666   +
>   z menu DATA), zapisane do pliku (funkcja SAVE
bitów 1, 2, 3. Adres 000 wprowadzany jest do paska DATA BAR z menu DATA@  
'> 
  
 
 $
 +$ #  
8 > * 8  
  -$# CLEAR DATA


+ 
+$   
 8   +  BAR z menu DATA ;
'+ 
 +$



  $ ( *   
   jest *.dsb.



 -
    
 666 
format binarny.

 $ *   666


  
8+
'> $   * 6 
 
* 

;
 $  
$8#
Set lub Reset (funkcja Set z menu ONLINE lub ikona Data Set ),

 $ $    


 #-$Force Set i Force Reset (funkcja Force z menu ONLINE

lub ikona Data Force ).

2-    -$ 


 
 
$ * +$ 6  $ $
$     $
 

 #
  $* 

    +  
 $ 
   *  *   #  -$ 
   $ 

wybraniu opcji Cancel lub Cancel all.

Wydanie 1998 r.
34


29. Rozkazy dodawania i odejmowania, porównania danych.
  
  $ :
A  
    +
 
      + $ > * 8   
  
8+
'>

  
  $ *   -$   +

= 
  
  
  
 
$8 $ 
  
 #
    
  #      +

  *    
'#  # A $  


'> $ +# , A  $ $ 
   
*  
$  
'   
 -
 
 E*   $  
'>,     +_AG6RAQ6`+$  
'* 
6    $ 
'>
'+ #  
'>6
   


 
arbitralnie.

WA,WZ

histereza WA
WZ

WY czas

0
czas

;

     '>5 '>
%!6G 
'>  A
%!G 
'>  ,
6666G 
'> '
E

,  %!6  %! #   


 $   4 ? 
$
  4  
 @  


   


 # 
'

 # 
  +


 B 9

 
'  #        LB;  #    $ 6G%66 
  $+    $#  
8
# 
$ 



*   
' $ +, A$ >
 

'+ $C +8 


 >
 
  

  
'   E    
' a666 A  a 
  #

'>   - 
 
'  
 8 
'
     
 *  %!6  %! #

'   LB;  +    
 
 
  
  +8   >
 
,;;/L? G
-$   +
$\




B 9N@
$B 9
#
* 8 
 
  

   
 ,;L  LL 
   
 *  #    

 #
  
'  LB;  
'    

  +
  
   
>  
' LB;

4
 
  

  
$# * 8     BE ?4 %!!6@ A  
  $
      -
 
## 
   $ $ 
$
lub wyniku ujemnego przy odejmowaniu.

Wydanie 1998 r.
35



 8 
 
'>  $ +     
 $
  ,;;  /L 
'  >
 


  
 8
 * 

& 
  
'    BE

$  
  B:B  
  
 $   
  3B 
 $   
 
 
$

4
  ,;;  /L   # 
     *   $*  -$     $ $
4
    #* 8
'+  $$ 
  

 $  



  
  
 $ +8
 $* 
  


$8>  

  %!((G  +* ?%!%G  +* 6@

 +$
'+   
'> ,   $       +8 
 >
  
*   


 $  8 
  
*    B9  $   # (   

   %!!6! ? @
%!!6. ?* @  %!!60 ?@ -
$#
 +  
*    
 
  $  ='+ 
$;   
 $$;  % *   
%!!6!* 

  %!!6.%!!60
#* 6


)
-
     
'+ #  
'> $ +   $  


 
  $
 
*   
  
      $HG
H
*   
 

 
  *  9
8  
 > $   #  


      G

 9<$
8+  ## 

 $7* 


 $
+







 #   
$network’i.

W pierwszym network’u

 #
 
 

 
 #   


 
  
  *  %6  %66 C   +8 
 >
  
*    B9  
 + #

'+>+ 
*    
 
*       
%6%

W trzecim network’u 
    
'> $ +      
 +8 
 >+
+
+  
'HG
H
*   + 
'H%G
H
*   


+
$$8 ' 
6666 network  
 
) 
 $2C;

4
  ,;;  /L   $#   $ 
 *  Maths instructions, BCD maths, rozkaz MOV zawarty jest
w grupie Data instructions, Data movment, rozkaz CMP w grupie Data instructions, Data comparision.

4
  
 
 $    *  BE  $# $$ Logic instructions,
Flags and registers.

Wydanie 1998 r.
36



Rysunek (histereza-rozw)

Wydanie 1998 r.
37


 #$ 
'>
8 > 
 
 $
network’ów jak np. network '+ 7
zatem tworzenie tego network’u.

1.   

-$#FILE, NEW PROJECT.

2. Wprowadzamy do network’u 1 styk normalnie otwarty i przypisujemy adres 253.13.



8$
 
+C $ 

$
'+


+ '  $   $ 

 +    #   
+
  
  :  
8
* 8 
 >
 
     
+  
  
 
 

  
+
8# 
 $ ;

+
 
 ' 
-
 '  *  

    +8
   >Store.

3. C  
FUN i wyszukujemy rozkaz CLC.

4. /  $
 
+$  #
 B:B 
 

#
+$-$# EDIT,
INSERT COLUMN.

5.    -$Vertical Short 



 

$ +   -$

Horizontal Short i wprowadzamy rozkaz ADD wraz z parametrami.

6. ;

$
+

  

$ 

#-$Vertical Short (kilkakrotnie) i Horizontal Short,
po czym wprowadzamy rozkaz CLC.

7.



$
  

$-$ Vertical Short i Horizontal Short
i wprowadzamy rozkaz odejmowania SUB wraz z parametrami.

; +  

 
*  
 +# '> 
 $

$  $
 +$  -$
 
  
   
 
'>    
 $


8 
8 

 > 
- 

*8   $ 


     $    
' 6   
'> % $ '


  
   $
-   +8
-
>   
 ,;;/LA 


 
> 
'*
#$+     H
 H$ $ 

#
zmiennych np. z obszaru DM.
B#


 >   $ +8 
 
>

 $ 
  ,;;/L 
 a666#;96666;
 
 ;96666 
'#a666
8  
 >

 $8   


+' $

C +8    >  $$



 $
  
    +
 

BH4 
I$  
  +8#
 

 -$   
  B+ 

   -$ 
$ +8    )
  $ 3
 $ +8  
 
8 >   
*7   


  
 $
   $;
 + -$ 
 
  
$
$  
 $
 B 9


  

 319;
 


 

 %"$ *  
+


U w a g a: 3  
       

 
 $*  + $ *  
+


8  
 > 
 
 $ 

$6+ $
* 86

Wydanie 1998 r.
38


 $ $ 

*319
 $3 
 * 
'   

 
$# $ +# 
'> $ #  

 


 

 $ $ 

 
'> $ 
   

# 
' +$ 


 $   #
  # 
'> 1
   
 
  
'>  $   
'# LB; 
 $ 6666G 4   
'>
 
  $ 
 6666G   8  
#  $

$B 9 
'>66?6@
L  
 8##$ *  

8  +$# $ $ 
 
   $$#
 
'6  
'>
 +   
 $ 

 $

$ 
 $ ' 
$ $ 

   *  
'6  
'> $
  $ $ +$#
$  
'  
'>6
  $  
/  
  

> 
 #
   
   #$  

$#

4
 319
    

# 
  $  


8 
 +7>  8  $
instrukcji Basic instructions, Timers and counters.

= 
  
  $ $ 

 



$ $#$+
$ +
  
(patrz przebiegi czasowe).

WE
(000.02)

WY
(10.02)
czas

Przebiegi czasowe

4
 8 #   
 $ 

319
 
8  

8  $ 8>8   
*   '$666%
       +$#6666%$  


   
$   
 3196%    
    $ I$  $#  ' 666%  *    
+

+
$,C;  * 

Rysunek (TIM rozw)

Wydanie 1998 r.
39



B4 


   $   
 $  +
  +8#
 

 +*  
 
  
* 
/      # 
8+
'> $ +8   $ 
 
   +
'  )  
# 

$$
8+
'
* 
 
+




 +  + 
 B 9
 BC34
 
 

 
 $  



9
8 * 8 $ >
  $$Basic instructions, Timers and counters  #$ 

 
 .

  
 $BC3#$+   $6G%0?
 *+
 $ *  

+* @
  
'> 
  +$  $
'+ #

 
'> #<

:BC3+ $+?
 


 
+  
'# #<
   #+  
'6 @
  # 
8+ 

 $  
 $
 
 '$+  ? 
'>+  '$4S   # 
'> 6
dekrementowana o 1). 
8+  


+ + $+* 
'  + * 6

$ 
$ +  
'>+ 
# 
'>69
  
+  
'>$ > 
'#
kolejnych impulsów zliczania stan licznika nie ulega LB; $6666G,$ +  
'>+
zmianie. 
8 >* 8  8  +
  
rozkazem MOV.

  +$$#    +  BC3  $  +  
+
'
 6    
 $#  $  +  
+
'
przedstawia rysunek.

WE
(255.02)

WY
(010.02)

;   +  


+
' 56 
+   2-     

 #  $+
zliczaniu 10 kolejnych impulsów, ostatni z tych
       
 +$ 
  C 
$+* 
 >* 8$+ '
 network’i    #

    $+$ 
$ $ +  
  + +   
+ 6 '$ 666%   +$ 


  
$+*   
      
 8 
 6 %6%66 * H  $8 H $+ '
 + 
$+   +8 

  
> + Znacznik 202.00 jest kasowany w momencie

'# < ;
     
'
 + 
    
+
 $+$ '



8  
 >     +   8    '
 

#
 '   $ 
'>    
'>
            
    
aktualna licznika wynosi 0. Pierwszy network zawiera sterownik CPM1 pod adresem 255.02 (symbol:
 '   $  =  8    $  1_SEC_PULSE).

   $  

$
* $ 
 Iloczyn logiczny znacznika 202.00 i jednego okresu

'   
#   '   
 $ 

#
 %!!6%
'+   $+ 
na stan 0.   '


Wydanie 1998 r.
40



  
  $     $$ 
8   #
 ! network’ów  

 $8
 >+


$

Rysunek (CNT-rozw)

B  <   


1    24%/&=
&
+ 
 
 $  7  


       

A 
8 
 
 $ $ * $  $8$+$ '


  
   

##   $ 
   
 

4
+#   $ 
##> ' -
  $
 B 9G6B;4 


. '>-
A 

# * 
8   >+   $6G.(;
$+ 

 
8  
 >    +

#
 %!6$
8+  #
  
'  $
6G%669 # $ - 8+ 
 $#   
  

8  *
6
$ $+ 
 6G%6
 
'#
56'$ 
Wydanie 1998 r.
41


4$+  $ #  +8     
 
> 8     
'
'+ #    $ #
 




  $
%6

 
#  -
 


  
$ 
 $  

 319 
'>    $  


8>  %66
 
>
  
  +  
'>   
    $+ 
 >

'>
'+ ## 
 
$  $ 7 
 
'6
 
'.(^%66Q%66

;+ $$     






 7  



WE 200.00

WY 10.00

czas nastawy




 
 # $ 
    
  
8  
 9/: +  +     LB; 4
 
   
'+     *   * *   $ 
8 
 8  8   *

8 > + #    $ 6G    
8   + #    $ 6G"666 
 
  $
  > +8%
.G 
+(% 

='+ 

# 
 $ 
8       
 %6 *   
*   
  %6
   #- $ '
* 
 %     #- $

  $  +



  $  
8  
8 > +    $ 6G%.6  
  +
$  $ + >


 %6


 %  >   + 
'>6666



      $     $ +   +

 
  ;1< 4
    

'+  + +   $+ $


 8  +
 +  + +   
  
rezultatem jest iloraz oraz reszta z dzielenia.

=8+
 
   $ +   

$ 
*  
  %6 
   
*

   +
  ' 
*
 %      + 

4
 
8  + 9/:;1<
#
   $-$I/C  $  

 $
rozkazów Maths instruction, BCD maths.





 #    $ 
+


W pierwszym network’u  $


'+  $  $8
 $+ 
    '$

 
  $ $  

  
  6666 A 
 
  $8

 $+$

8 
'
 $666 a6%66 wymaga zastosowania pomocniczego znacznika
C 
   
'>    %666   #
 -
 
  8 
  
 +

     ) #     $+  + # $   
 ?network 3).

* 
   %6  % G 
8  %% A     
 +
 
 $ 

 A 
'> 
*
  %% nastawionego czasu, albo przy ponownym wyzwoleniu

 $    $   
 31966 $ $  

 ?network !@ 1$+ '
 
 +    %6666 = 
    
8  $ '


   $

 $  * 


'+ #

  $

Wydanie 1998 r.
42



Rysunek (przek. czas.-rozw)


Wydanie 1998 r.
43



BB; ; ! $



    +$#
  $ 
 
 %6666   



$#  $ '    
8$ 
8 
 > 

  
'+ #  
 $

$  +  $ $ 

+$
   +    
 $ +8 

#

   H 
>H $+ 

# =  $8 
 
  
  %6666    
'
    +$    $ 
  $   
'>       
'> 6  +8

 >
$   8  *    +$  +8 $ > $
   $
  %6666   #>   + 

 $ *
8+
'> $  $?force set) i skasowania tego wymuszenia (np.
reset@A 

# *-$
8  

* 

 > $  * 

 ' 

 $
$
8+
'$+ 

U w a g a: $  *  *   


8+ +

  #
-$C:1C22;13

34. Detekcja zbocza. Rozkazy DIFU i DIFD


=   

   )
# 
*  
 
+    
   +$
 

  
 $ +8> +8
 $ $+$ 6 +
  $ $
 
'6 ?
   #@+$  
' 6?

 #@A
'+
    #


 +'  $8    
 
  $ *   
  +
       

  
  
+-$

 
 * 319BC3

4
  ;1I/ ?   
     #
@  ;1I; ?   
 
 #
@ $
8+  # 

 
  
$
  
) 8 -$  
  +
 ,$  
 *
  '  $#
 
'>     
+$
 $

 $
 6G`+$ G`63 
 # $
8+  $ +8+$-$
)

 

 
;$8 $    
 
$ 
  B 9 - 94C  -  8 
 
  +

' 
 *    # 
  = 
    
# Diff Up w oknie dialogowym Function

  # 
 $
 $

    $ 


  
 $   $  $$ +
 
 $ *   +   

 $ 
'6  
'>

Zaznaczenie Diff

Rysunek (Dif Up)


;    
  
8    >     $ $  *   

#  
  $
$#
  3,4353   $  # +$  #  $ '

 
  8
 

 '$ $ '

3,4353 

;
 
 #   
  $        
     #
  $ '

  8  
 $ '


  #>
  
 '  $ '

&
+   

 $$


> 
 $ $ '


Wydanie 1998 r.
44


 


 
 # $   '
 =8+   '
   *    6   
  
  66666    '
 ?
    #@  
    '  

  
  6666  
 # $ 6 +8 *  >  '   
zastosowano pomocnicze znaczniki 200.00 do detekcji +    ='+  '   '
   *

   %666
      
 
      6    ?
    #@  
   
'

 '  
   +8 *   >   
przeciwny, czyli stan 0.

Rysunek (Dif UP-rozw)

, +    
 $  $
  
    #
 #  $%6666
  '
66666

  +


B?&  :  


 I2I2-

'>
 * 
 B 9 
#
 * 
 $ +8

 
 $$
+

 $ -
   '  

 $A  #  $ 
* 

#> - 
 $8+
 
 ' $+
I 
   +8   ' 
*    > 4* 8 

'> 
   + 
 
   
  
 +  
- $    
  \
* N  #
 $

3  $  # 


8+ 
  
 
   2+ #8#

 +


# 
 *  $# 
  
 $   $ 6G ? +  
  B 9@  
#
JMP i JME. Rozkaz JMP jest rozkazem skoku    + 
$ 
 *  ='+ $ +

warunkowego do miejsca w programie zaznaczonego 
 $=9 *  
'6

- $

  =92   #  8 
   
 
 $
'+

 
  =92 
> $ +8

    
 
 =9 
 '+ ' $+
* 

 
>
 =92 1 skok nie jest wykonywany i w danym cyklu

 $ 
  # * 8 $  

 $ =9 =92

1$#   


   $ =9   =92  
   * 
 '

   +


 -



Wydanie 1998 r.
45



Rysunek (JMP- rozw)

Wydanie 1998 r.
46





 
 #   
 
+$    8 $   $ '  -

    
  + $

$ 
 
' '   +



 
'>a666 '  ' 6666
*  
  $

$ 
' '   +



 
'>a666 
   
8   

 ' 
  

+ 
'  $ '

    
*  8  

>  +?a@ +?a6666@
$ + 
'
 $

,  '>5 '># $#D

66666G -


$#  
' '

 $  +



6666G -


$# 
' '

 $  +



%66G 
 * $# 
'>  +

#
%666G  
  $%!!6%
%!!6%G 
 
  $

#

%!!6G 
BE-
$#
 #$ +$ 
8

  $  $ 


     #
  $ A   
8  * 8 
 >
%!!6%   $ 
  - $ 
 $ do sygnalizacji przekroczenia dopuszczalnego zakresu

 $ =9 =92='+   
'  
 $   $
 
   $   5+$   dodawania przekroczony zostaje dopuszczalny zakres,
 
' 
*
  %66 ?$ ,;;       $ 
'> a
 
SUB). Instrukcje dodawania i odejmowania powinny w przypadku gdy w wyniku odejmowania wynik jest
> 
 
 $#  
    $ BE$ 
'>
$
systemowego CY. $    +8

 > 
 $ ?$
9<@ 
+ #   
$
 
*

 %66 
'a6666+$ a

  


     $8 +   +    
 $   *
$  
 ;
 
 
  

 #     *  

#

 6 G
 %!!6686%G %!!6

36. Podprogramy
1$

#


 * $
# Basic instructions, Subroutines#
$*
* 8     $#   
   
 $ 
  1 # 

 *  


 - *  
 *    # 
 $  
#  #  #  
'> 
 
#


  $
8+  # 
  
 
 $ $$ +
 
 $   
$
  

- *     
  
 $ 
+

  8 -$
 +
 
$

$   
$#   + 3 
* 
 
   $$ +
  +
G
'>
- prostsze testowanie
G
8+
'>$ 
+ +$

 
  

 *
G
8+
'>H$  8H +
* 

 *

A
 


 *  # #$LCL4231$ LC 
 

      
#$ 

 $    $  + 
'+ #  $ 

 $
  

   - 
 

 $ ;+  
  B 9 
8 
 > +    $ 6G 
 


 $
   $# L   ## * 8 
  $8 $ 3  ' $
'+ 
*  

 *    > 
   # $# 

 $  $  423   $ 
instrukcji nie jest wymagane wprowadzenie jakiegokolwiek parametru.

 

  $# >  
     
 8 

  # 
  +


)$ 
 $ 
     
    $  
    
 $ * 

kolejnych cykli programu jednostka centralna $  L 1$  


)  
 $ 2C;
sterownika wykonuje program do pierwszej instrukcji 
  > $
   

   $
SBN. 
 $     $# 423
 

podprogramu. Nie ma potrzeby umieszczania jej w


8 $
 $
 
Wydanie 1998 r.
47



  + 


 $
   #
+ 

 *    $
8D

SBS - inicjalizacja podprogramu

N: numer podprogramu
0-255

LCG
#? rt) podprogramu, RET - koniec podprogramu

N: numer podprogramu
0-255

 +$ >   



   
 
  

 *   

$   
  + 


+ $+ $#L 
* 8
  

  $$    +
* * L23

Funkcja test lamp 


8 >  +
 
 '   + 

*  A 


   +    


+$    $  
    $ $8 +
' +  

+ * 
# 

 
+
adresy.

   
 # $  *8 8  
 
 
 B 9   
#  +# G(6B;4
 

$ 
 %62;4 9   
 
%6 '>A *8 +8%+ 

+ 
 


#

 * 666G66(6%66G6%60

&
+ 
88

   
 
66%
  
 * 

8 +*  
 

  
8 
$ + 
 
 
 %* 
  66% 
' 
  #+
   +    +aIIII

  
' 

 >  +
   $   
 
  
 +   
 
6666! '  8 $ 
 

 $$#L

     8  8    


 
$ -$ +  
  

 $


  #>  
)
 -  
 $ * 
 A  

 
   

pustego network’u 1.

Wydanie 1998 r.
48



Rys (lamp test - rozw)

A    

  $  L23 $
8+   
 +
$ *  = 
   
'+   
'>
?;  @ *    >   
 *     $
'+

  ;  %   ;  ( 1 

   

  
 
 $ 
  
  

 $    
  *> $    -  8
-$  L23 
 +      
'

 $ $ *   
  +
 
  
8


 >$#9<

Wydanie 1998 r.
49


BF! ; 
<;  $  ! $
Instrukcja przenoszenia bloków danych XFER

 
+   
 
  
  B 9    

 
 
 $ *
czasowych.

   $  $  


 $
 *     $
 $  +
*  
XFER i na wykorzystaniu obszaru danych.

4
 bI24   
'+   * + * 
#

 $
7* 



#

 $

+


;  

 $
+  

$ 
' +
$   #


#

 $

7* 


 +
$   #


#

 $

+


Roz 


 +
$
'+
+ #* 4
 bI24
 + * 8

> 

obszaru TC.

C    
+     
 
$  $ *   
 
'   $ 
 

obszarze danych DM.

;


$ >  
 
8+
'>    $  +8
'
 $*  

;+ $   8 $#  +


  '

 6666(
='+   '
 $ 
'> * #  $   
 
 >  
 
'  

* ;9666G;966%'+ ' 
'>* #6 *  $  

 > 
 
' 
spod adresów DM0020-DM0022.

A 

 
'

 >
#


 $ *  

  
 * 
+ $ 
+ $ *  
#  

 + $ *  



    '

  6666666666666%

Wydanie 1998 r.
50



4? +$ G


 @
Wydanie 1998 r.
51



 8 
 $ *   
 

 > 
#
   

    +8 H  *
H
 >
*   + #$  
9$
 #> 
 
 
 
'
   $6666(D6G`G`6
     
   #

 #
 
  
 %666  %666%  #
*  $# $ *   
 31966 3196 319 6% 


$#* 8 

 
'> * 

 
 * ;9/  
$  
#   
'> $a#   +?network’i 5,6,7).

,8 
 
   

  +8 >

 # +  
' * 9
8 

 +
> 

#  

%!!!?
+I143TB,C@*$ 
'>+

wtedy, gdy jest wykonywany pierwszy cykl programu.


   
8    
 >
 
  
  $ *   
 
'  
 $
;9666G;966%+$ ;966%6G;966%%  +8
'
 $ $6666(?network’i 3 i 4).
   
'+ 
'
 *  ;9666G;966%;966%6G;966%%;


+$ 
8  
 > 
  $8 '    3 
 '   > 8  
$$

 $
 

  
'  



 $;9

38. Podsumowanie

A   
  $
   
#  

 B+
 
  
  
 
  +   

 
   -  
       
 
 

$  
*    #  ' 
         
 
 
 $#  * 8
-
    *   -
     -

  *  &
    $#     
wówczas bardziej przyjazny i pozwala dostrzec zalety ich wykorzystania.
A    
    

         
 
  
  B 9
1-
       * 
$ $$
  

 
 
$ H





B 9H
$
8+ >+
 
+#
$
 

 B 9
A  $#  $  
  + *   
 

  ' 
  -$

 B 9

 
 E1CC +8
+>- 8 
  +
'
* B 9
 
  ?BW9 B%66VT @   
  
 
$ -
  

+#
+
  
$

@
 
>
$ > 

-

-94C
9  8
  + 
 +

       #

  
 


8+
' 
  
* 





J; K

Wydanie 1998 r.
52

Vous aimerez peut-être aussi