SIEMENS S7-200 İLERİ SEVİYE

Download Report

Transcript SIEMENS S7-200 İLERİ SEVİYE

SIEMENS S7-200
İLERİ SEVİYE
KONULAR
1-Program akış kontrol komutları
2-Matematik işlemleri
3-Kesme işlemleri alt programları
4- Bazı özel komutlar
5- Gerçek zaman saati uygulaması
1.Slayt
PROGRAM AKIŞ KONTROL
KOMUTLARI
Atlama Komutları
Koşullu son
Stop
İzleyici resetleme
komutları
2.Slayt
PLC UYGULAMALARI
3.Slayt
4.Slayt
Uyg-1: JUMP
5.Slayt
ATLAMA KOMUTU
Uyg-2: JUMP_2
6.Slayt
Uyg-3: JUMP_3
7.Slayt
Stop komutu dona-nımsal
veya bizim belirlediğimiz
şartla işletilir.
WDR komutu saykıl süresi
S7-200 için 350 ms yi
aşarsa programın ortasına
bir yere konulur.
END komutu Versiyon 2.0
ve altında program sonuna
koyulmalı. İstenirse de
programın her hangi bir
yerine konularak koşullu
son yapılabilir.
9.Slayt
PROGRAM AKIŞ KONTROL KOMUTLARI
Uyg-4: For_Next
10.Slayt
Sıralama Kontrol Rölesi (SCR)
Komutları
SCR komutları ile birbirini takip eden alt birimlere
ayrılabilen proseslerde (ki çoğu makina böyledir)
kullanmak üzere “adım” kontrolunu basit bir şekilde
yapabilirsiniz.
Bir dizi işlemin tekrar tekrar yapılması gerekiyorsa,
uygulamanıza tam uyan SCR’ler programınızın
yapılandırılmasında
kullanılabilir.
Sonuçta,
uygulamanızı daha kısa sürede programlar ve
testlerini de daha kolay gerçekleştirirsiniz.
SCR Yükle komutu (LSCR), SCR’nin başlangıcını
gösterir. S-bit parametresi
“1” ise, SCR Yükle
komutuyla SCR Sonu arasındaki işlemler (adım)
devrede olacaktır. Eğer S_bit “0” ise, bu iki komut
arasındaki işlemlere/komutlara enerji akışı yok
varsayılacaktır.
11.Slayt
Sınırlamalar
SCR’leri kullanırken aşağıdaki sınırlamalara dikkat
ediniz:
‰ Aynı S bitini farklı program parçasında
kullanamazsınız. Örneğin, S0.1’i ana programda
kullandıysanız bir altprogramda kullanmamanız
gerekir.
‰ SCR parçasının içinden dışarıya veya dışarıdan
içeriye sıçrama yapamazsınız; ancak, Sıçrama ve
ilgili Etiketi aynı SCR parçasının içinde yer almak
üzere kullanabilirsiniz.
‰ SCR parçasının içinde Koşullu Son (END)
komutunu kullanamazsınız.
12.Slayt
13.Slayt
14.Slayt
DAĞILMA KUMANDASI
15.Slayt
16.Slayt
BİRLEŞME KUMANDASI
17.Slayt
18.Slayt
SIRALAMA ROLELERİ ÖRNEK PROGRAMI
SM0.0
Uyg-5: SCR1
19.Slayt
Uyg-6: SCR2
20.Slayt
21.Slayt
22.Slayt
23.Slayt
24.Slayt
ALT PROGRAM OLUŞTURMA
MAIN (OB1)
Uyg-7: SBR_INT
SBR1(MANUEL)
25.Slayt
SBR2(OTOMATİK)
PAREMETRELİ ALT PROGRAM (daha sonra)
PAREMETRELİ ALT PROGRAM (daha sonra)
MAİN OB1
BÖLÜM-2:
MATEMATİK KOMUTLARI
Matematik Komutları
Toplama, Çıkarma, Çarpma ve Bölme
Komutlarıdır.
Toplama, Çıkarma
IN1 + IN2 = OUT IN1 - IN2 = OUT
IN1 + OUT = OUT OUT - IN1 = OUT
LAD ve FBD
STL
Tamsayı Toplama (+I) veya Tamsayı Çıkarma (-I) komutları iki
16 bitlik tamsayıyı toplar veya çıkarır ve 16 bitlik sonuç
oluşturur.
Tam sayı işlemleri -32768 ile +32767 arasındadır.
Double Tamsayı Toplama (+D) veya Double Tamsayı Çıkarma
(-D) komutları 32 bitlik iki sayıyı toplar veya çıkarır ve 32 bitlik
sonuç oluşturur.
Double Tamsayı -2.147.483.654 ila +2.147.483.653
Reel Sayı Toplama (+R) ve Reel Sayı Çıkarma (-R) komutları
32 bitlik iki reel sayıyı toplar veya çıkarır ve (32 bitlik) reel
sayı oluşturur.
26.Slayt
TOPLAMA VE ÇIKARMA
Toplama,
IN1 + IN2 = OUT
IN1 + OUT = OUT
Çıkarma
IN1 - IN2 = OUT
OUT - IN1 = OUT
Tamsayı Toplama (+I) veya Tamsayı Çıkarma (-I) komutları iki 16
bitlik tamsayıyı toplar veya çıkarır ve 16 bitlik sonuç oluşturur.
Tam sayı işlemleri -32768 ile +32767 arasındadır.
Double Tamsayı Toplama (+D) veya Double Tamsayı Çıkarma (-D)
komutları 32 bitlik iki sayıyı toplar veya çıkarır ve 32 bitlik sonuç
oluşturur.
Double Tamsayı -2.147.483.654 ila +2.147.483.653
Reel Sayı Toplama (+R) ve Reel Sayı Çıkarma (-R) komutları 32
bitlik iki reel sayıyı toplar veya çıkarır ve (32 bitlik) reel sayı
oluşturur.
27.Slayt
Uyg-8: ADD_I
28.Slayt
Uyg-9: SUB_I
29.Slayt
Matematik Komutları
Çarpma , Bölme
IN1 * IN2 = OUT
IN1 * OUT = OUT
, IN1 / IN2 = OUT
, OUT / IN1 = OUT
LAD ve FBD
STL
Tamsayı Çarpma (*I) veya Tamsayı Bölme (/I) komutları
iki 16 bit tamsayıyı çarpar veya böler ve 16 bitlik sonuç
oluşturur (Bölmede, kalan saklanmaz).
Double Tamsayı Çarpma (*D) veya Double Tamsayı
Bölme (/D) komutları iki 32 bitlik tamsayıyı çarpar veya
böler ve 32 bitlik sonuç oluşturur (Bölmede, kalan
saklanmaz).
Reel Sayı Çarpma (*R) veya Reel Sayı Bölme (/R)
komutları iki (32 bitlik) reel sayıyı çarpar veya böler ve
(32 bitlik) sonuç oluşturur. Tüm komutlarda sonuç,
OUT’a yazılır.
Uyg-10: MUL_I
30.Slayt
Uyg-11: DIV_I
31.Slayt
Matematik Komutları
Etkilenen özel hafıza bitleri
Bu bitler bir saykıl boyunca bir olur.
‰ SM1.0 (işlem sonucu sıfır ise)
‰ SM1.1 (taşma, işlem sırasında
geçersiz değer oluştu veya giriş
parametresi geçersiz ise)
‰SM1.2 (sonuç negatif ise)
‰ SM1.3 (sıfıra bölme işlemi
yapılıyorsa)
32.Slayt
Matematik Komutları
SM1.1, taşma hatalarını ve
geçersiz değerleri gösterir.
Eğer SM1.1 set olmuş ise, SM1.0
ve SM1.2’nin değerleri geçerli değildir
ve çıkış güncellenmez.
. Eğer SM1.1 ve SM1.3 set
olmamış ise, işlem hatasız şekilde
bitmiş, SM1.0 ve SM1.2 geçerli
değerler içeriyor demektir.
 Eğer bir bölme işlemi sırasında
SM1.3 set olmuşsa, diğer matematik
durum bitleri aynı şekilde kalır.
TOPLAMA İŞLEMİ
DURUM TABLOSU(Status
Chart)
ÇIKARMA İŞLEMİ
DURUM TABLOSU(Status
Chart)
ÇARPMA İŞLEMİ
BÖLME İŞLEMİ
Örnek-1
I0.0 ile işlemin sonucu
X=(2460/24)*(3564/12)+1234
I0.1 ile işlemin sonucu
Y=(234,45+23,321)/(235,48-34,6)
Uyg-12: MAT_ORN_1
33.Slayt
ÖRNEK ALIŞTIRMA
X=(450/50)*(25000/250)-(257500/4750)
Y=(6900/30)*(4250/10)+(2760/270)
DÖNÜŞTÜRME KOMUTLARI
34.Slayt
35.Slayt
REEL SAYIYI TAM SAYIYA DÖNÜŞTÜRME
Uyg-13:ROUND_TRUNC
36.Slayt
KAREKÖK ALMA VE
DOLDURMA KOMUTU
Uyg-14:FILL_N
37.Slayt
VERİ TABLOSU
OLUŞTURMA
38.Slayt
39.Slayt
TABLO OLUŞTURMA ÖRNEK
Uyg-15:TABLE
40.Slayt
KESME ALT PROGRAMLARI
İnterrupt (Kesme)
Komutları : ENI,DISI ,
ATCH, DTCH
İnterrupt’lara İzin Ver komutu
Enable İnterrupt:(ENI), tüm
ilişkilendirilmiş interrupt
olgularının işlenmesine izin
verir.
İnterrupt İznini Kaldır komutu
(Disable İnterrupt):DISI, tüm
interrupt olguların işlenmesini
engeller.
41.Slayt
İnterruptlar için “Kısa olan iyidir”
yargısı kesinlikle doğrudur.
Bir interrupt altprogramında
İnterrupt İznini Kaldır (DISI),
İnterrupt’lara İzin Ver (ENI), Hızlı
Sayıcı Tanımlama (HDEF)ve Son
(END) komutlarını kullanamazsınız
42.Slayt
CPU 22X KESME SAYISI
43.Slayt
KESME İLE İŞLETİLEN ALT
POGRAMLAR
1-Olaya bağlı kesme alt proğramları
2-Zamana bağlı kesme alt
proğramları
3-Hızlı sayıcı kesme alt proğramı
4-Hızlı çıkış kesme alt proğramı
5-İletişim kesme alt proğramı
44.Slayt
Olaya Bağlı kesmeler
45.Slayt
OLAYA BAĞLI KESME OLGULARI
46.Slayt
Main
INT 0
INT 1
INT 2
Uyg-16:INT
47.Slayt
48.Slayt
Uyg-17:INT_KITAP
49.Slayt
Uyg-17:INT_KITAP_DEVAMI
50.Slayt
Zamana Bağlı İnterrupt’lar
Olgu
Açıklama
Zamana bağlı interruptlar zaman kontrollu
interruptlar
ve
zaman
rölesi
T32/T96
interrupt’larından oluşur.
Zaman kontrollu interrupt kullanarak belli
işlemleri
sabit
zaman
aralığında
sürekli
yapabilirsiniz.
Çevrim süresi 1 msn’lik artımlarla 1-255 msn
arasında olabilir. Zaman kontrollu interrupt 0 için
çevrim süresini SMB34’e, zaman kontrollu
interrupt 1 için ise SMB35’e yazmalısınız.
51.Slayt
Main
Uyg-18:INT_TIME0
INT 1
52.Slayt
ZAMANA BAĞLI KESME
Uyg- SIZ DAHA SONRA YAPACAKSINIZ.
53.Slayt
ZAMANA BAĞLI KESME
54.Slayt
HIZLI SAYICILAR
Hızlı sayıcılar, S7-200 tarama hızıyla
ölçülemeyecek kadar hızlı olan darbelerin
sayılması için kullanılır.
Maksimum sayma frekansı S7–200 CPU
modeline bağlıdır.
Hızlı Sayıcı Tanımlama
Hızlı Sayıcı Tanımlama komutu (HDEF),
belirli bir hızlı sayıcının (HSCx) çalışma
şeklini seçer.
MODE: Bu seçim hızlı sayıcının sayma,
yön, başlatma ve reset fonksiyonlarını
tanımlar.
Programda yer alacak her hızlı sayıcı
için her zaman ve sadece bir adet Hızlı
Sayıcı tanımlama komutu kullanılmalıdır.
55.Slayt
Hızlı Sayıcı Mod Seçimi
56.Slayt
Mod 0,1,2 için çalışma şekli
57.Slayt
Mod 3, 4 veya 5 için Çalışma
Örneği
58.Slayt
Mod 6,7ve 8 için çalişma şekli
59.Slayt
Mod 9,10,11 için çalışma şekli
60.Slayt
HIZLI SAYICILAR
CPU 221ve CPU 222 dört adet hızlı
sayıcıyı destekler: HSC0, HSC3,
HSC4 ve HSC5. Bu CPU’larda HSC1
ve HSC2 yoktur.
CPU 224, CPU 224XP, CPU 226 ve
CPU
226XM
altı
hızlı
sayıcıyı
destekler: HSC0 ile HSC5.
61.Slayt
62.Slayt
Hızlı Sayıcı
Hızlı Sayıcı komutu (HSC) özel hafıza
bitleri ve baytları yoluyla yapılan ayarların
hızlı sayıcıya aktarılmasını sağlar. N
parametresi hızlı sayıcının numarasıdır.
Hızlı sayıcı tanımlamanın tersine, HSC
komutu bir hızlı sayıcı için birden fazla
kullanılabilir.
Hızlı sayıcılar 12 çalışma şekline kadar
ayarlanabilirler
Bu fonksiyonların desteklendiği her sayıcın
sayma, yön kontrolü, reset ve başlatma
amacıyla girişleri vardır.
İki fazlı (yukarı/aşağı) sayıcılarda her iki
sayma girişi de maksimum hızda olabilir.
Dörtlü (enkoder tipi) sayıcılarda,
maksimum hızın bir misli (1x) veya dört
misli (4x) sayma seçim olanağı vardır.
Tüm sayıcılar birbirlerini etkilemeden
maksimum hızda çalıştırılabilir.
63.Slayt
ÇALIŞMA MODLARI
64.Slayt
65.Slayt
66.Slayt
KESME OLGU NUMARALARI
67.Slayt
HSC0, HSC1, HSC2, HSC3, HSC4 ve HSC5 için
Kontrol Bitleri
68.Slayt
HSC0, HSC1, HSC2, HSC3, HSC4 ve HSC5 için
Anlık ve Ayar Değerleri
Anlık değere her türlü komutla (karşılaştırma,
taşıma) erişilebilir, ancak buraya değer yazma
yalnızca HSC komutuyla yapılabilir.
68.Slayt
HIZLI SAYICILARIN KESME OLGU NUMARALARI
68.Slayt
HIZLI SAYICI ÖRNEĞİ
Main OB1
SBR0
INT0
69.Slayt
Hızlı sayıcı kesmesi
Hızlı sayıcı interrupt’ları ayar
değerine erişim, dönüş yönü değişimi
veya harici resetleme gibi durumları
içerir.
Bu hızlı sayıcı olgularının her biri, PLC
normal tarama süresinde yakalanamayacak kadar hızlı gelişen durumlara gerçek zamanda tepki verilebilmesini sağlar
Hızlı Sayıcı Örnek 1
HSC0 hızlı sayıcısı şu şekilde çalışması
istenmektedir:
Hızlı sayıcı girişten gelen palsleri ileri
yönde 10 ‘a kadar sayacak ,anlık değeri
ayar değerine eriştiğinde kesme işlemi
gerçekleşecek.
Kesme alt programına gittiğinde geri
yönde eksi 10’ a kadar sayacak.
Dışarıdan harici reset yapılabilecek
Bu devreyi oluşturarak çalışmasını kontrol
ediniz.
70.Slayt
HIZLI SAYICI ÖRNEK-1 ÇÖZÜMÜ
Main OB1
SBR0
INT0
10
-10
Uyg_19:MANUEL
71.Slayt
Örnek-1’in Sihirbazla (Wizard) Kurulması
Uyg_20:wizard
72.Slayt
Örnek-1’in Sihirbazla (Wizard) Kurulması
Uyg_20:wizard
73.Slayt
Örnek-1’in Sihirbazla (Wizard) Kurulması
Uyg_20:wizard
74.Slayt
Örnek-1’in Sihirbazla (Wizard) Kurulması
Uyg_20:wizard
75.Slayt
Örnek-1’in Sihirbazla (Wizard) Kurulması
Uyg_20:wizard
76.Slayt
Örnek-1’in Sihirbazla (Wizard) Kurulması
Uyg_20:wizard
77.Slayt
Örnek-1’in Sihirbazla (Wizard) Kurulması
Uyg_20:wizard
78.Slayt
Örnek-1’in Sihirbazla (Wizard) Kurulması
Uyg_20:wizard
79.Slayt
Örnek-1’in Sihirbazla (Wizard) Kurulması
Uyg_20:wizard
80.Slayt
Hızlı Sayıcı Örnek 2
Hızlı sayıcının şu şekilde çalışması
istenmektedir:
Hızlı sayıcı girişten gelen palsleri ileri yönde 20
ye kadar sayacak ,anlık değeri ayar değerine
eriştiğinde kesme işlemi gerçekleşecek.
Kesme alt programına gittiğinde içerik
sıfırlanacak tekrar 25 ‘e set edilecek.
Reset yapıldığında hızlı sayıcı içeriği sıfırlanacak
Dışarıdan harici yön kontrolü yapılabilecek
Bu devreyi oluşturarak çalışmasını kontrol
ediniz.
81.Slayt
Hızlı Çıkış Kesme ALT PROGRAMI
Darbe Çıkış komutu (PLS) ile hızlı
çıkışların (Q0.0 ve Q0.1), darbe dizisi
(Pulse Train Output (PTO) ve darbe
genişliği modülasyonu (Pulse Width
Modulation
(PWM)
şeklinde
çalıştırılması mümkün olmaktadır.
Darbe çıkışları konfigüre etmek için
pozisyon
kontrol
sihirbazını
kullanabilirsiniz.
 PTO,
ayarlanabilir
darbe
sayısı ve çevrim süresi ile eşit
aralıklı kare dalga çıkışı sağlar.
PWM,
ayarlanabilir
darbe
genişliği ve döngü süresi ile
sürekli bir çıkış fonksiyonu
sağlar.
82.Slayt
Darbe Dizisi İşlemi (PTO)
PTO %50 açık-%50 kapalı
olmak üzere belirli bir darbe
sayısı ve çevrim süresi ile
kare dalga çıkışı oluşturur.
PTO, tek bir darbe dizisi
veya arka arkaya eklenmiş
çok sayıda darbe dizisi
oluşturabilir (darbe profili
kullanılarak).
Darbe sayısını ve
(mikrosaniye veya milisaniye
cinsinden) çevrim süresini
tanmlayabilirsiniz:
‰ Darbe sayısı:
1 ila
4,294,967,295
‰ Çevrim süresi: 50 mikro
sn ila 65,535 mikrosn
83.Slayt
PTO/PWM İşlemini Ayarlamak ve
Kontrol Etmek için SM Kullanımı
PLS komutu, belirli SM alanında yazılı
bilgileri okur ve PTO/PWM üreteçlerini
buna göre programlar.
SMB67, PTO0 veya PWM0’a kumanda
eder ve SMB77, PTO1 veya PWM1’e.
Yeni bir darbe sayısı (SMD72 veya
SMD82), darbe genişliği (SMW70 veya
SMW80) veya çevrim süresi
(SMW68 veya SMW78) girdiğinizde,
kontrol alanındaki uygun güncelleme
bitlerini de set edin ve ondan sonra PLS
komutunu işletin.
84.Slayt
85.Slayt
Darbe Dizisi İşlemi (PTO)
KESME OLGU NUMARASI (Q0.0 İÇİN 19) ,(Q0.1 İÇİN 20) DİR
86.Slayt
SAYFA 68
87.Slayt
HIZLI ÇIKIŞ KESMESİ
MAIN (OB1)
Uyg_21:PLS
HIZ ÇIK(SBR 2)
HIZ ÇIK KES(INT1)
88.Slayt
GERÇEK ZAMAN SAATİ
Bütün rakamlar
hekzadesimal sayı
Düzeninde yazılacak.
Örneğin;15.gün16#15 diye
yazılacak.
89.Slayt
90.Slayt
GERÇEK ZAMAN SAATİ
91.Slayt
GERÇEK ZAMAN SAATİ
ÖRNEK
92.Slayt
93.Slayt
GERÇEK ZAMAN SAATİ
VB300
YIL
00-99
VB301
AY
01-12
VB302
GÜN
01-31
VB303
SAAT
00-24
VB304
DAKİKA
0-59
VB305
SANİYE
0-59
VB306
-----
-----
VB307
HAFTANIN
GÜNÜ
1-7
1-PAZAR 7-CUMARTESİ
0 -OLURSA HAFTANIN GÜNÜ YOK
Darbe Dizisi İşlemi (PTO)
Darbe Dizisi İşlemi (PTO)
Darbe Dizisi İşlemi (PTO)
Darbe Dizisi İşlemi (PTO)
Programınız, iletişim portunun işletilmesi için
aşağıdakileri kullanır:
‰ İlet komutu (XMT) ve iletim interrupt’ı: İlet komutu,
S7–200’ün iletişim portu üzerinden 255 karakteri
aktarmasına izin verir.
İletim interrupt’ı, iletimin tamamlandığı konusunda
programınıza bilgi verir.
‰ Karakter alım interrupt’ı: Bu interrupt, iletişim portu
üzerinden bir karakter alındığıyla ilgili olarak programınıza
bilgi verir.
Kullanılan programa bağlı olarak programınız alınan
karakter üzerine işlem yapabilir.
‰ AL komutu (RCV): Al komutu, iletişim portu üzerinden
tüm mesajı alır ve mesajın tamamının alındığıyla ilgili olarak
programınıza bilgi verir.
S7-200’ün SM hafızasını kullanarak Al komutuyla ilgili
mesajın başlangıç ve bitiş koşullarını tanımlayabilirsiniz. Al
komutu, programın bir mesajı belli karaktere veya zaman
aralığına bağlı olarak başlatmasını veya bitirmesini sağlar.
Al komutuyla pek çok protokol oluşturulabilir.
Freeport Moduyla Kullanıcıya Özel İletişim
Freeport modu, S7–200 CPU’nun iletişim
portunun program tarafından kontrol
edilmesine izin verir.
Çok değişik akıllı cihazlarla iletişim için
kullanıcıya özel iletişim protokollerini
freeport modu ile oluşturabilirsiniz.
Freeport modu hem ASCII, hem de biner
(binary) protokolleri destekler.
Freeport modunu devreye almak için özel
hafıza baytları SMB30 (Port 0 için) veya
SMB130’un (Port 1için) kullanımı gerekir.