kontrol laboratuvarı plc deneylerđ

Ondokuz Mayıs Üniversitesi
Mühendislik Fakültesi
Elektrik-Elektronik Mühendisliği Bölümü
KONTROL LABORATUVARI
PLC DENEYLERĐ
HAZIRLAYAN :
Arş. Gör. Tolga YÜKSEL
Samsun - 2005
Genişletilmiş Hali - 2008
PLC’LER , GENEL ÖZELLĐKLERĐ ve SIEMENS S7-200 SERĐSĐ
1. Giriş
Programlanabilir lojik kontrolör(Programmable Logic Controller-PLC) endüstriyel
otomasyon sistemlerinin kumanda ve kontrol devrelerini gerçeklemeye uygun yapıda girişçıkış birimleri ve iletişim arabirimleri ile donatılmış,kontrol yapısına uygun bir sistem
programı altında çalışan bir endüstriyel bilgisayardır.Başlangıçta röleli kumanda sistemlerinin
yerine kullanılmak üzere düşünülmüş ve ilk ticari PLC 1969 yılında Modicon firması
tarafından geliştirilmiştir.O yıllarda röleli kumanda devreleri yerine kullanılmak üzere
geliştirilen bu aygıt yalnız temel mantık işlem komutları içerdiğinden programlanabilir lojik
kontrolör(PLC) olarak sunulmuştur.Günümüzde üretilen PLC’ler ise mantık temelli işlemlere
ek olarak aritmetik ve özel matematiksel işlemlerin yapılmasını sağlayan komutları da
içerirler.Komut kümesinin genişlemesi sonucu daha karmaşık kumanda ve kontrol işlevleri
gerçeklenmektedir.
2. Temel Yapı
PLC’ler endüstriyel otomasyon devrelerinde doğrudan kullanıma uygun özel giriş ve
çıkış birimleriyle donatılmışlardır.Bu aygıtlara basınç,seviye, sıcaklık algılayıcı ve kumanda
düğmesi gibi iki değerli işaret bilgisi taşıyan elemanlar,kontaktör selonoid gibi kumanda
devrelerinin sürücü elemanları doğrudan bağlanabilir.
Bir PLC
• Bir sayısal işlemci ve bellek
• Giriş ve çıkış birimleri
• Programlayıcı birimi
• Besleme güç kaynağı
gibi temel kısımlardan oluşur.
Kumanda düğmesi,anahtar,algılayıcı
GĐRĐŞ BĐRĐMĐ
Programlayıcı
Birimi
ĐŞLEMCĐ
ÇIKIŞ BĐRĐMĐ
Kontaktör,selonoid
Şekil 1 PLC temel yapısı
1
BELLEK
Sayısal işlemci PLC sistem programı altında kullanıcı programını yürüten,PLC’nin
çalışmasını düzenleyen ve bu işlemleri yapmak için gerekli bulunan elemandır.
Bellek sistem programının bulunduğu sistem belleği,kullanıcı programının bulunduğu
program belleği ve veri belleği bölümlerinden oluşur.Sistem belleği üretici firmanın
geliştirdiği PLC işletim sistemi programının yüklü olduğu bellek alanı,program belleği ise
kullanıcı tarafından yazılan programın yüklendiği bellek alanıdır.Veri belleği giriş-çıkış işaret
durumlarının tutulduğu giriş-çıkış görüntü belleği ve kullanıcıya ayrılmış bellek alanlarından
oluşur.Veri belleği alanında bulunan giriş görüntü belleği,programın yürütülmesi sürecinde
giriş birimindeki noktaların işaret durumlarının(0-1) saklandığı bellek;çıkış görüntü belleği ise
kullanıcı programının yürütülmesi sürecinde çıkış noktalarına ilişkin hesaplanan değerlerin
saklandığı bellek alanıdır.
Giriş birimi kontrol edilen sistemle ilgili algılama ve kumanda elemanlarından gelen
elektriksel işaretlerin lojik gerilim seviyelerine dönüştüren birimdir.Kontrol edilen sisteme
ilişkin çeşitli elemanlardan gelen ikili değerler giriş birimi üzerinden alınır.
Çıkış birimi PLC’de üretilen lojik gerilim seviyelerindeki işaretleri kontrol edilen
sistemdeki kontaktör,röle,selonoid gibi kumanda elemanlarını sürmeye uygun elektriksel
işaretlere dönüştüren birimdir.
PLC’lerde ayrıca yüksek hız sayıcısı,kesme işareti girişi,analog giriş(ADC) ve analog
çıkış(DAC) gibi giriş-çıkış birimleri de bulunur.
Programlayıcı birimi kumanda ve kontrol amacıyla yazılan bir programın PLC
program belleğine yüklenmesini sağlayan birimdir.
3. Kullanıcı Programının Yürütülmesi
PLC program belleğine yüklenmiş bir kullanıcı programı,birinci komuttan başlayarak
son programın komutuna kadar bütün komutların sırayla yürütülmesi biçiminde gerçekleşir.
Program sonu komutuna erişildiğinde tekrar birinci komuta dönülür.Bu çalışma biçimi sonsuz
çevrime girmiş bir program parçası gibi düşünülebilir.Bu çalışma biçiminde komutların
işlenme sırası atlama,altprogram,çağırma gibi komutlar kullanıldığında yada kesmeli çalışma
durumunda değişebilir. PLC’lerde bir çevrimin tamamlanması için geçen süreye tarama
zamanı denir.Her tarama çevriminin belirli bir sürede tamamlanması gerekir.Bir tarama
işleminin belirli bir sürede tamamlanmaması durumunda sistem programı PLC çalışmasını
durdurur.Bu süre genellikle 300 ms ile 1000 ms arasında değişir.Bu işlem bir gözetleme
zamanlayıcısı(Watchdog Timer) ile sağlanır.PLC’nin tarama zamanı giriş-çıkış
sayısına,programın içeriğine ve uzunluğuna,işlemcini hızına bağlıdır.
Bir PLC çalışma(RUN) durumuna geldiğinde sırasıyla aşağıdaki işlemler gerçekleşir:
• Giriş birimindeki değerler alınır,giriş görüntü belleğine yazılır ve saklanır.Bu değerler bir
sonraki çevrime(taramaya) kadar değişmez.
• Yazılan programa göre program komutları adım adım sırasıyla işlenir.ancak giriş değerleri
için giriş görüntü belleğinden okundukları andaki değerleri geçerlidir ve bu değerler bir
çevrim boyunca değişmez.
• Kullanıcı programının yürütülmesi tamamlandıktan sonra hesaplanan değerler çıkış
görüntü belleğine yazılır ve çıkış birimine gönderilir.Çıkış birimine aktarma işlemi
tamamlandıktan sonra tekrar birinci adıma dönülür.Çıkış görüntü belleği ve çıkış
birimindeki değerler bir sonraki çevrime kadar değişmez.
2
Başla
Giriş birimindeki
işaret durumlarının al ve
giriş görüntü belleğine yaz
Komutları
sırasıyla işle
Sonuçları çıkış görüntü
belleğine yaz ve çıkış
birimine aktar
Şekil 2 PLC’de bir programın yürümesi
4. Programlama Biçimleri
PLC’ler için geliştirilmiş olan programlama dilleri,kontaktörlü ve röleli kumanda
devrelerin tasarımı ile ilgili kişilerin kolayca anlayıp uygulayabileceği biçimde kullanıma
sunulmuştur.Genel olarak üç türlü programlama biçimi kullanılır:
• Komut kullanımı ile programlama
LD I0.1
O I0.2
A I0.3
= Q0.1
• Merdiven diyagramı ile programlama
I0.1
I0.3
Q0.1
I0.2
•
Mantık kapıları ile programlama
I0.1
≥
&
I0.2
Q0.1
I0.3
3
5. Siemens S7-200 Serisi PLC’ler ve Genel Özellikleri
Siemens S7-200 serisi PLC’ler çeşitli otomasyon uygulamalarını kolayca yerine
getirebilecek bir PLC serisidir.Kompakt tasarımı,düşük maliyeti ve güçlü komut seti bu
PLC’leri mükemmel otomasyon çözümleri haline getirmiştir.Ayrıca basit yapısı sayesinde
PLC programlama eğitimi için en fazla tercih edilen PLC serisi durumundadır.
Siemens S7-200 serisi mikroişlemcilerine bağlı olarak iki gruba ve grupların altında
çeşitli alt modellere ayrılmaktadır :
•
210 serisi
CPU 212,CPU 214,CPU 215,CPU 216
•
220 serisi
CPU 221,CPU 222,CPU 224,CPU 226
210 serisine özellik tablosu aşağıda verilmiştir :
Özellik
CPU 212
CPU 214
CPU 215
CPU 216
Fiziksel boyutlar
160 mm x 80 mm x
62 mm
197 mm x 80 mm x
62 mm
218 mm x 80 mm x
62 mm
218 mm x 80 mm x
62 mm
Program(EEPROM)
512 word
2K word
4K word
4K word
Veri
512 word
2K word
2.5K word
2.5K word
Dahili bellek bitleri
128
256
256
256
Bellek kartuşu
Yok
Var(EEPROM)
Var(EEPROM)
Var(EEPROM)
Opsiyonel pil kartuşu
Yok
200 günlük
200 günlük
200 günlük
Bellek tutma
50 saat
190 saat
190 saat
190 saat
Girişler/Çıkışlar(I/O)
D: Sayısal
I/O
8 DI/6 DQ
14 DI/10 DQ
14 DI/10 DQ
24 DI/16 DQ
Genişleme
modülü(max).
2
7
7
7
Seçilebilir giriş
süzgeci
Yok
Var
Var
Var
Đkili yürütme hızı
1.2µs/komut
0.8µs/komut
0.8µs/komut
0.8µs/komut
Sayıcı/zamanlayıcı
64/64
128/128
256/256
256/256
For/next döngüsü
Yok
Var
Var
Var
Tamsayı mat.
Var
Var
Var
Var
Gerçel sayı mat.
Yok
Yok
Var
Var
PID
Yok
Yok
Var
Var
Haberleşme kesmesi
1 gönderme/1 alma
1 gönderme/1 alma
1 gönderme/1 alma
1 gönderme/1 alma
Zamanlanmış kesme
1
2
2
2
Donanım giriş
1
4
4
4
Hafıza
A:Analog
Komutlar
Ek özellikler
4
kesmesi
Gerçek zaman saati
Yok
Var
Var
Var
1(RS-485)
1(RS-485)
2(RS-485)
2(RS-485)
Port 0
PPI
PPI
PPI,MPI
PPI,MPI
Port 1
Yok
Yok
DP,MPI
PPI,MPI
Sadece slave
Var
Var
Var
Haberleşme
Haber. port sayısı
Destk. protokoller
Peer-to-peer
Tablo 1 210 serisi PLC’lerin genel özellikleri
PLC deneyleri için laboratuvarda 212 ve 214 modelleri kullanılacaktır.Đlerleyen
bölümlerde gerekli yerlerde bu iki modelin özellikleri ayrı ayrı belirtilecektir.
Siemens , PLC’lerinde bellek alanlarını adresleme için
kullanmaktadır.Bu semboller ve anlamları aşağıdaki tabloda verilmiştir.
çeşitli
semboller
Tablo 2 Siemens S7-200 Adresleme sembolleri ve anlamları
Sembol
Anlamı
I
Giriş görüntü belleği kaydedici
Q
Çıkış görüntü belleği kaydedici
V
Değişken bellek alanı
M
Đç bellek alanı
SM
Özel bellek alanı
T
Zamanlayıcı bellek alanı
C
Sayıcı alanı bellek alanı
AI
Analog girişler
AQ
Analog çıkışlar
AC
Akümülatörler
HSC
Yüksek hızlı sayıcılar
Verilen sembolleri kullanarak aşağıda CPU 212 ve CPU 214 için giriş-çıkış adresleri
verilmiştir:
Giriş-çıkış için tanımlı
CPU 212 :
I0.0,I0.1,…,I0.7 (8 giriş)
adreslerin 1 bit olduğu
Q0.0,Q0.1,…,Q0.5(6 çıkış)
unutulmamalıdır!
CPU 214 :
I0.0,I0.1,…,I0,7 , I1.0,I1.1,…,I1.5(14 giriş)
Q0.0,Q0.1,…,Q0.7 , Q1.0,Q1.1(10 çıkış)
5
DENEY NO-1: TEMEL ĐŞLEM KOMUTLARI
S7-200 PLC’lerinde komutların işleyişi lojik yığın(yada sadece yığın) olarak
adlandırılan bir saklayıcıya bağlı olarak yapılır.Yığın boyutu 1 bit olan 9 seviyeli bir
saklayıcıdır.
S0
Yığının birinci seviyesi
S1
Yığının ikinci seviyesi
S2
Yığının üçüncü seviyesi
S3
Yığının dördüncü seviyesi
S4
Yığının beşinci seviyesi
S5
Yığının altıncı seviyesi
S6
Yığının yedinci seviyesi
S7
Yığının sekizinci seviyesi
S8
Yığının dokuzuncu seviyesi
Şekil 3 Lojik yığın belleği
S7-200 serisi için kullanılan temel komutlar ve anlamları aşağıdaki tabloda verilmiştir:
Komut
Anlamı
LD bit_adres
Yükle(LOAD)
LDN bit_adres
Tümleyenini yükle(LOAD NOT)
A bit_adres
Ve(AND) işlemi
AN bit_adres
Ve Değil(AND NOT) işlemi
O bit_adres
Veya(OR) işlemi
ON bit_adres
Veya Değil(OR NOT) işlemi
N
Tümleyen(NOT) işlemi
=
Çıkışa atama
S bit_adres,N
Kurma(SET)
R bit_adres,N
Silme(RESET)
ALD
Ve Blok(AND BLOCK)
OLD
Veya Blok(OR BLOCK)
6
PLC’lerde kullanılan komutların işletilişlerine göre iki gruba ayrılırlar :
•
Koşulsuz işletilen komutlar : Bu komutlar sırası geldiğinde hiçbir koşula bağlı olmadan
işletilen komutlardır.(Örn : LD , LDN , A , AN)
•
Kuşullu işletilen komutlar : Bu komutlar sırası geldiğinde yığının birinci seviyesine bağlı
olarak yürütülen komutlardır.Eğer yığının birinci seviyesi 1 ise komut yürütülür , 0 ise
yürütülmez.(Örn : R , S )
1.1 LD ve LDN komutları
Bu komutlar yürütüldüğünde işlenen veri , yığının birinci seviyesine yazılır ve yığında
bulunan bir önceki değerler bir alt seviyeye itilir.LD I0.0 komutu için bu durum aşağıda
gösterilmiştir.
Yığının önceki durumu
Yığının sonraki durumu
LD I0.0
S0
I0.0
S1
S0
S2
S1
S3
S2
LDN I0.0 komutu yürütüldüğünde ise yığın seviyeleri benzer şekilde değişir,yığının
birinci seviyesine I0.0 değerinin tümleyeni yüklenir.
1.2 A , O , AN , ON , N komutları
Bu komutlar yürütüldüğünde komutun belirlediği lojik işlem,işlenen veri ile yığının
tepesindeki değere uygulanır ; sonuç yığının birinci seviyesine yazılır.Yığının diğer
seviyelerindeki verilerin konumu değişmez.Aşağıda bu komutlar için oluşan durumlar
gösterilmiştir.
Önceki durum
Sonraki durum
A I0.0
Önceki durum
Sonraki durum
O I0.0
S0
I0.0*S0
S0
I0.0+S0
S1
S1
S1
S1
S2
S2
S2
S2
S3
S3
S3
S3
Önceki durum
Sonraki durum
AN I0.0
Önceki durum
Sonraki durum
ON I0.0
S0
I0.0’*S0
S0
I0.0’+S0
S1
S1
S1
S1
S2
S2
S2
S2
S3
S3
S3
S3
7
Önceki durum
Sonraki durum
NOT
S0
S0’
S1
S1
S2
S2
S3
S3
ALD (AND BLOCK) , OLD(OR BLOCK) komutları
Bu iki komut işlendiğinde yığının birinci ve ikinci seviyelerindeki değerlere VE
işlemi(ALD) veya VEYA işlemi(OLD) uygulanır,sonuç yığının birinci seviyesine
yazılır.Yığının diğer seviyeleri bir basamak yukarı kaydırılır.Aşağıda bu komutlar için oluşan
durumlar gösterilmiştir.
Önceki durum
Sonraki durum
Önceki durum
ALD
Sonraki durum
OLD
S0
S0*S1
S0
S0+S1
S1
S2
S1
S2
S2
S3
S2
S3
S3
x
S3
x
= (Çıkışa atama) komutu
Bu komutun yürütülmesi durumunda yığının birinci seviyesindeki değer bu komutla
belirtilen adres konumuna(çıkış görüntü belleği,herhangi bir kaydedici vb.) aktarılır.Yığın
seviyelerinin konumları ve içerikleri değişmez.
Önceki durum
Sonraki durum
= Q0.0
S0
S0
S1
S1
S2
S2
S3
S3
S(SET) ve R(RESET) komutları
S S_bit,N
R S_bit,N
Yukarıda kullanımı verilen bu komutlar ile S_bit adresinden başlayarak N bitlik bellek
adresinin içerik değeri 1 veya 0 olarak atanır.Örneğin S Q0.2,4 komutu ile
Q0.2,Q0.3,Q0.4,Q0.5 çıkış adresinin içerikleri 1 yapılır.
8
Bu komutlar koşullu komutlar olduğundan bu komutların yerine getirilmesi için
yığının birinci seviyesindeki değerin 1 olması gerektiği unutulmamalıdır.Bu komutların
kullanımına ilişkin bir örnek ve zamanlama diyagramı aşağıda verimiştir.
LD
S
LD
R
LD
R
I0.0
Q0.0,2
I0.1
Q0.0,1
I0.2
Q0.1,1
I0.0
I0.1
I0.2
Q0.0
Q0.1
Çıkan(EU) ve Đnen(ED) kenar algılama komutları
Çıkan ve inen kenar algılamaya ilişkin komutlar bir işaretin 0’dan 1’e veya 1’den 0’a
geçiş yaptığı durumları belirlemek için kullanılır.Bu tür komutlar işaretin değişimini yalnız 1
tarama çevrimi boyunca 1 değeri üreterek belirler.Aşağıda bu komutun kullanımına ilişkin bir
örnek ve zamanlama diyagramı verilmiştir.
LD
EU
=
LD
ED
=
I0.0
Q0.0
I0.0
I0.0
Q0.0
Q0.1
Q0.1
Đvedi işlem(LDI,AI,ANI,OI,ONI,=I,SI,RI) komutları
Bu tür komutlar PLC giriş noktalarına ilişkin değerlerin komut yürütüldüğü anda
okunmasını ve çıkışlara aktarılmasını sağlayan komutlardır.Bu tür komutlar değişim hızı PLC
tarama hızına göre yüksek olan işaretlerin okunması ve sonucun hızlı bir şekilde çıkış
birimine aktarılması amacıyla kullanılır.
9
DENEYLER :
1 ) Bilindiği gibi herhangi bir kontaklı kumanda devresi , bir lojik fonksiyon ile ifade
edilebilir ve lojik fonksiyon lojik cebir işlemleri ile çarpımların toplamı veya topların çarpımı
haline getirilebilir.Aşağıda verilen fonksiyonu önce çarpımların toplamı haline getiriniz ,
merdiven diyagramı,komut kullanımı ve mantık kapıları ile programları oluşturunuz.Daha
sonra STEP 7 MicroWin programıyla programlayınız.
Q0.1=I0.1*[I0.2*(I0.3’*I0.4’+I0.3*I0.4)]+I0.1’*[I0.2*(I0.3’*I0.4+I0.3*I0.4’)]
2)
Y0 Ana su
giriş vanası
Y1 vanası
B1
Tankı
Y2 vanası
Boş
S2
B2
Tankı
Dolu
S1
Boş
S4
Dolu
S3
Şekilde gösterilen sistemin çalışması şu şekilde olacaktır.Kazanlarda su seviyesi
belirlenen seviyenin altına düşerse ilgili vanalar açılacak ve kazana su dolmaya
başlayacak,sıvı seviyesi belirlenen noktaya ulaşınca ilgili vanalar kapanarak su girişi
engellenecektir.
YO : Ana su girişi selenoidi(Q0.0)
Y1 : B1 tankı su girişi selenoidi(Q0.1)
Y2 : B2 tankı su girişi selenoidi(Q0.2)
S1 : B1 tankı dolu(Kapalı kontak)(I0.0)
S2 : B1 tankı boş(Açık kontak)(I0.1)
S3 : B2 tankı dolu(Kapalı kontak)(I0.2)
S4 : B2 tankı boş(Açık kontak)(I0.3)
Verilen koşulları sağlayan ve giriş-çıkışları yukarıda belirtilen sistemin merdiven
diyagramı,komut kullanımı ve mantık kapıları ile programları oluşturunuz.Daha sonra STEP 7
MicroWin programı ile programlayınız.
10
3 ) Bir kısa devre ASM’un iki yönde çalışmasına ilişkin güç besleme devresi aşağıda
verilmiştir.
L1
L2
L3
3~ 50 Hz , 380 V
F1F
1
3
5
K1
1
3
5
2
4
6
K2
2
4
6
1
3
5
2
4
6
F2F
3~
ASM
Şekilde verilen devrede K1 kontaktörü motorun bir yönde,K2 kontaktörü motorun
diğer yönde çalışmasını sağlayacaktır.
S0 : Motor durdurma düğmesi(I0.0)
F2F : Aşırı akım rölesi(I0.1)
S1 : Motorun saat yönde çalıştırma düğmesi(I0.2)
S2 : Motoru saatin tersi yönde çalıştırma düğmesi(I0.3)
K1 : Motorun saat yönünde çalışmasını sağlayan kontaktör(Q0.0)
K2 : Motorun saatin tersi yönde çalışmasını sağlayan kontaktör(Q0.1)
Verilen koşulu sağlayan ve giriş-çıkışları yukarıda belirtilen sistemin merdiven
diyagramı,komut kullanımı ve mantık kapıları ile programları oluşturunuz.Daha sonra STEP 7
MicroWin programı ile programlayınız.
Raporda Đstenenler:
1) Deney 1,2 ve 3’e ait programların merdiven diyagramı,komut kullanımı ve mantık kapıları
ile oluşturduğunuz STEP 7 MicroWin programlarını gerekli açıklamaları ile birlikte
veriniz.
11
DENEY NO-2 : ZAMANLAYICILAR,SAYICILAR VE
KARŞILAŞTIRMA KOMUTLARI
2.1 Zamanlayıcılar(TON,TONR)
S7-200 PLC’sinde iki tür zamanlayıcı vardır :
• Gecikmeli kapatan(on-delay)
• Kalıcı gecikmeli kapatan(retentive on delay)
Gecikmeli kapatan zamanlayıcıyı programlamak için aşağıdaki komut kullanılır:
TON Txxx,PT
Bu komut yığının birinci seviyesindeki değerin 1 olması durumunda etkin olur ve
Txxx adresindeki zamanlayıcı içeriği belirli zaman değerleri ile artar.Txxx≥PT olduğunda
zamanlayıcı biti Txxx=1 olur.PT istenen gecikme süresine bağlı olarak 1 ile 32767 arasında
bir tamsayı olabilir.Yığının birinci seviyesindeki değer sıfırlandığı anda zamanlayıcı
içeriği,buna bağlı olarak da zamanlayıcı biti sıfırlanır.Bu tip zamanlayıcının çalışmasına dair
bir örnek aşağıda verilmiştir.
LD
TON
LD
=
I0.0
T32,1000
T32
Q0.0
I0.0
T32
I0.0
IN
+1000
T32
T32
TON
1 sn
Q0.0
PT
1 sn
Q0.0
Kalıcı gecikmeli kapatan zamanlayıcı için aşağıdaki komut kullanılır :
TONR Txxx,PT
Bu tip zamanlayıcılarda zamanlayıcı içeriği yığının birinci seviyesindeki değer 0
olduğunda sıfırlanmaz,mevcut değerini korur.Bu tip zamanlayıcılarda hem zamanlayıcı
içeriğini,hem de zamanlayıcı bitini sıfırlamak için R komutu kullanılır.Bu tip zamanlayıcının
çalışmasına dair örnek aşağıda verilmiştir.
LD
I0.0
TONR T1,1000
LD
T1
=
Q0.0
LD
I0.1
R
T1,1
I0.0
I0.1
T1
T1
(bit)
Q0.0
10 sn
5s
12
5s
CPU 212 64,CPU 214 128 tane zamanlayıcıya sahiptir.Zamanlayıcılar 3 zaman
çözünürlüğüne sahiptir : 1 ms,10 ms,100 ms.Bu çözünürlükler adım zamanı
belirtmektedir.Aşağıda CPU 212 ve 214’ün sahip olduğu zamanlayıcıların tiplerine ve
çözünürlüklerine göre sınıflandırılması yapılmıştır.
Zamanlayıcı Çözünürlük Maksimum değer CPU 212 CPU214
TON
1 ms
32.767 s(saniye) T32
T32,T96
10 ms
327.67 s
T33…T36 T33..T36
T97…T100
100 ms
3276.7 s
T37…T63 T37…T63
T101…T127
TONR
1 ms
32.767 s
T0
T0,T64
10 ms
327.67 s
T1…T4
T1…T4
T65…T68
100 ms
3276.7 s
T5…T31 T5…T31
T69…T95
2.2 Sayıcılar(CTU,CTUD)
Sayıcılar uygulanan işaretlere bağlı olarak yukarı doğru(ileri sayıcı-CU) veya yukarıaşağı doğru(ileri-geri sayıcı-CTUD) biçiminde kullanılır.
Đleri sayıcı için aşağıdaki komut kullanılır :
CTU Cxxx,PV
Bu komut işlendiğinde yığının birinci seviyesindeki değer 1 ise sayıcı içeriği ve sayıcı biti
sıfırlanır.Yığının ikinci seviyesindeki değerin her 0’dan 1’e geçişinde ise sayıcı içeriği 1
arttırılır.Sayıcı içeriği PV karşılaştırma değerine eşit veya büyük olduğunda sayıcı biti 1
olur.Bu tip sayıcının çalışmasına dair bir örnek aşağıda verilmiştir.
LD
LD
CTU
=
I0.0
I0.1
C0,5
Q0.0
I0.0
I0.1
6
5
4
3
2
C0
içeriği
1
2
1
0
C0(bit)
Q0.0
Đleri-geri sayıcı için ise aynı komut CTUD olarak kullanılır.Bu komutun işlendiğinde
yığının üçüncü seviyesindeki değerin her 0’dan 1’e geçişinde sayıcı içeriği 1 artar;yığının
ikinci seviyesindeki değerin her 0’dan 1’e geçişinde sayıcı içeriği 1 azalır.Yığının birinci
seviyesindeki değer 1 yapıldığında ise sayıcı içeriği ve sayıcı biti sıfırlanır.Bu tip sayıcının
çalışmasına dair bir örnek aşağıda verilmiştir.
13
LD
I0.0
LD
I0.1
LD
I0.2
CTUD C48,3
LD
C48
=
Q0.0
I0.0
I0.1
I0.2
3
2
C48
içeriği
4
3
3
4
2
1
0
C48(bit)
Q0.0
CPU 212 64 adet(C0,…,C63) ve CPU 214 128 adet(C0,…,C127) sayıcıya
sahiptir.Đleri sayıclar değer olarak 32767 değerine kadar,ileri-geri sayıcılar -32767-+32767
değerleri arasında sayma işlemi yapabilirler.
2.3 Karşılaştırma işlemleri ve komutları(= , >= , <=)
Karşılaştırma işlemleri çeşitli olaylara ilişkin verilen büyüklüklük,küçüklük ve eşitlik
ölçütlerine göre değerlendirildiği ve buna bağlı olarak kumanda işaretlerinin üretildiği
işlemlerdir.Karşılaştırma komutları ile 8 bit(Byte-B),16 bit(Word-W) ve 32 bit(Double WordD) boyutundaki veriler üzerinde işlemler yapılabilir.
W1 ve W2 gibi 16 bitlik iki işaretli tamsayı biçimindeki verinin karşılaştırılmasına
ilişkin işlemlerde W1-koşul-W2 (koşul = , >= , <= olabilir.) ölçütlerine göre aşağıdaki gibi
kullanılır.
Eşittir ölçütü için
LDW =W1,W2
AW =W1,W2
OW =W1,W2
Büyük eşittir ölçütü için
LDW >=W1,W2
AW >=W1,W2
OW >=W1,W2
Küçük eşittir ölçütü için
LDW <=W1,W2
AW <=W1,W2
OW <=W1,W2
şeklindedir.Yukarıda verilen komutlar eğer 8 bitlik beri için kullanılacaksa LDB,AB,OB
komutları, eğer 32 bitlik veri için kullanılacaksa LDW,AW,OW komutları kullanılır.
LD ile başlayan karşılaştırma komutları işlendiğinde eğer karşılaştırma ölçütü
sağlanıyorsa yığının birinci seviyesi 1 değerini , sağlanmıyorsa 0 değerini alır.
A ile başlayan karşılaştırma komutları işlendiğinde eğer karşılaştırma ölçütü
sağlanıyorsa yığının birinci seviyesindeki değer değişmez(1 ve VE işlemi),sağlanmıyorsa
yığının birinci seviyesindeki değer 0 olur.
O ile başlayan karşılaştırma komutları işlendiğinde eğer karşılaştırma ölçütü
sağlanıyorsa yığının birinci seviyesindeki değer 1 olur(1 ve VEYA işlemi),sağlanmıyorsa
yığının birinci seviyesindeki değer değişmez.
Merdiven diyagramı ve mantık kapıları ile programlamada 16 bitlik W işlemleri I
harfiyle gösterilir.Ayrıca CPU 214 için ek olarak LDR,AR,OR(R-Real,gerçel sayılar)
işlemleri bulunmaktadır.
14
DENEYLER :
1)
I0.0
I0.1
Q0.0
Q0.1
Q0.2
2s 2s
2s 2s
2s 2s
2s 2s 2s
2s 2s
2s
Zamanlama diyagramı aşağıda verilen kumanda devresinin(Q0.1 çıkışını
zamanlayıcılar ,Q0.2 çıkışını sayıcı kullanarak) merdiven diyagramı,komut kullanımı ve
mantık kapıları ile programları oluşturunuz.Daha sonra STEP 7 MicroWin programı ile
programlayınız.
2) Şebekeye doğrudan bağlanarak yol verilen üç adet kısa devre ASM’dan oluşan bir
sistemin kumandasına ilişkin koşullar şu şekilde verilmiştir:
a) Bir S1 başlatma düğmesine basıldığında M1 motoru devreye girecek,M1 motoru
devreye girdikten 120 sn. sonra M2 motoru,M2 motoru devreye girdikten 100 sn.
sonra M3 motoru devreye girecektir.
b) Bir S0 durdurma düğmesine basıldığında yada herhangi bir motorun aşırı yüklenmesi
durumunda M3 motoru,M3 motoru devreden çıktıktan 100 sn. sonra M2 motoru,M2
motoru devreden çıktıktan 80 sn. sonra M1 motoru devreden çıkacaktır.
c) S2 ivedi durdurma düğmesine basıldığında bütün motorlar devreden çıkacak.
d) Aşırı yüklenme durumu motorlar için sırasıyla F4F,F5F,F6F aşırı akım röleleri
tarafından denetlenecektir.
S0 : Genel durdurma düğmesi(I0.0)
S1 : Genel başlatma düğmesi(I0.1)
S2: Acil durdurma düğmesi (I0.5)
F4F : M1 motoru aşırı akım rölesi(I0.2)
F5F : M2 motoru aşırı akım rölesi(I0.3)
F6F : M3 motoru aşırı akım rölesi(I0.4)
K1 : M1 motorunun çalışmasını sağlayan kontaktör(Q0.0)
K2 : M2 motorunun çalışmasını sağlayan kontaktör(Q0.1)
K3 : M3 motorunun çalışmasını sağlayan kontaktör(Q0.2)
Verilen koşulları sağlayan ve giriş-çıkışları yukarıda belirtilen sistemin merdiven
diyagramı,komut kullanımı ve mantık kapıları ile programları oluşturunuz.Daha sonra STEP 7
MicroWin programı ile programlayınız.
3) Bir trafik lambası sistemi PLC kontrollü olarak gerçeklenmek istenmektedir.Bu trafik
lambası sistemi için aşağıdaki sırada koşullar verilmiştir.
a) Kırmızı trafik lambası 20 s. yansın.
b) Sarı trafik lambası 2s fasılalı(yanıp söner) olarak yansın
c) Yeşil trafik lambası 20 s yansın
d) Sarı trafik lambası 2 s fasılalı olarak yansın.
15
e) a)’ya geri dönülsün.
Sistemde ayrıca lambanın çalışmasını sağlayan bir S0 anahtarı bulunmaktadır.
S0 : Trafik lambalarının çalışmasını sağlayan anahtar(I0.0)
L1 : Kırmızı trafik lambası(Q0.0)
L2 : Sarı trafik lambası(Q0.1)
L3 : Yeşil trafik lambası(Q0.2)
Verilen koşulları sağlayan ve giriş-çıkışları yukarıda belirtilen sistemin merdiven
diyagramı,komut kullanımı ve mantık kapıları ile programları oluşturunuz.(Tek zamanlayıcı
ve karşılaştırma komutlarını kullanınız)Daha sonra STEP 7 MicroWin programı ile
programlayınız.
Not : Özel bellek biti olan SM0.5 1 s’nin 0.5 s’sinde 1,0.5 s’sinde 0 değerini alır.(Fasılalı
çalışma için)
Raporda Đstenenler:
1) Deney 1,2 ve 3’e ait programların merdiven diyagramı,komut kullanımı ve mantık kapıları
ile oluşturduğunuz STEP 7 MicroWin programlarını gerekli açıklamaları ile birlikte
veriniz.
16
DENEY NO-3 : MATEMATĐKSEL ĐŞLEMLER VE VERĐ ĐŞLEMLERĐ
Bellek üzerinde işlem yapılmasını içeren matematiksel işlemler ve veri işlemlerine
geçmeden önce bellek gösterimi tekrar gözden geçirilmelidir. Bellek alanını gösteren I, Q, M,
V, SM harflerinden sonra yazılan B(8 bit), W(16 bit) ve D(32 bit) harfleri erişilen bellek
alanının boyutunu belirtir. Aşağıda buna örnek I adresleri verilmiştir :
IB0 (I0.7, I0.6, … , I0.1, I0.0)
IW0 ( IB0(I0.7, I0.6, … , I0.1, I0.0) ; IB1((I1.7, I1.6, … , I1.1, I1.0) )
ID0 ( IW0(IB0,IB1) , IW2(IB2,IB3) )
3.1 Matematiksel Đşlemler
Matematiksel işlemler CPU 212’de işaretli tamsayılar üzerinde, CPU 214’de ise
işaretli tamsayılar(-32768(h8000)~+32767(h7FFF)) ve 32 bitlik gerçel sayılar üzerinde
yapılabilir. Đşlemler sonucunda aşağıda tanımlı dört özel bit bu durumdan etkilenir.
SM 1.0
SM 1.1
SM 1.2
SM 1.3
Đşlem sıfır biti
Taşma biti
Sonuç negatif biti
Sıfıra bölme biti
Matematiksel işlemlerle birlikte en çok kullanılan ve üzerinde matematiksel işlem
yapılacak değişkenlere belirli değerler yüklenmesi ve taşınması gibi işlemler MOV ile
başlayan komutlar yardımıyla yapılır.
MOVB VB0,VB1
VB0 8 bitlik veri VB1 adresine aktarılır.
MOVW VW0,VW2
VW0 adresindeki 16 bitlik veri VW2 adresine aktarılır.
MOVD VD0,VD4
VD0 adresindeki 32 bitlik veri VD4 adresine aktarılır.
MOVR VD0, VD4
VD0 adresindeki gerçel sayı VD4 adresine aktarılır.
BMB VB0,VB100,N
BMW VW0,VW100,N
BMVD VD0,VD100,N
VB0-VW0-VD0 adresinden başlayarak N byte-worddouble word bloğu VB100-VW100-VD100 adresinden
başlayan alana taşınır.N 1-255 arası değer alabilir.
a) Toplama Đşlemi
Toplama işlemiyle 16, 32 bitlik tamsayılar ve 32 bitlik gerçel sayılar toplanabilir.
Komut
Đşlem
Sonuç
+I VW0, VW2
VW0+VW2 yapılır, sonuç VW2’ye yazılır.
Tamsayı
+D VD0,VD4
VD0+VD4 yapılır, sonuç VD4’e yazılır.
Tamsayı
+R VD0,VD4
VD0+VD4 yapılır, sonuç VD4’e yazılır.
Gerçel sayı
b) Çıkarma Đşlemi
Çıkarma işlemiyle 16, 32 bitlik tamsayılar ve 32 bitlik gerçel sayılar çıkarılabilir.
Komut
Đşlem
Sonuç
-I VW0, VW2
VW2 - VW0 yapılır, sonuç VW2’ye yazılır.
Tamsayı
17
-D VD0,VD4
VD4 - VD0 yapılır, sonuç VD4’e yazılır.
Tamsayı
-R VD0,VD4
VD4 - VD0 yapılır, sonuç VD4’e yazılır.
Gerçel sayı
c) Tamsayı Çarpma, Bölme
Komut
*I VW0, VW2
*D VD0,VD4
MUL VW0,VD2
Komut
/I VW0, VW2
/D VD0,VD4
DIV VW0,VD2
Đşlem
VW0 * VW2 yapılır, sonuç VW2’ye yazılır.(16 bit iki
sayı)
VD0 * VD4 yapılır, sonuç VD4’e yazılır. (32 bit iki sayı)
VW0*(VD2’nin düşük anlamlı 16 biti(VW4)) yapılır,
sonuç VD2’ye yazılır.
Sonuç
Đşlem
VW2 / VW0 yapılır, sonuç VW2’ye yazılır.(16 bit iki
sayı)
VD4 / VD0 yapılır, sonuç VD4’e yazılır. (32 bit iki sayı)
(VD2’nin düşük anlamlı 16 biti(VW4))/VW2 yapılır,
bölüm VW4’e(16 bit), kalan VW2’ye(16 bit) yazılır.
Sonuç
16 bit tamsayı
32 bit tamsayı
32 bit tamsayı
16 bit tamsayı
32 bit tamsayı
32 bit tamsayı
d) Gerçel Sayı Çarpma, Bölme
Komut
*R VD0,VD4
/R VD0,VD4
Đşlem
VD0*VD4 yapılır,sonuç VD4’e yazılır.(32 bit iki
gerçel sayı)
Sonuç
32 bit gerçel sayı
VD4/VD0 yapılır,sonuç VD4’e yazılır.(32 bit iki gerçel
32 bit gerçel sayı
sayı)
e) Gerçel Sayı Özel Đşlemler
Komut
Đşlem
Sonuç
SQRT VD0,VD4
√VD0 yapılır,sonuç VD4’e yazılır.(32 bit gerçel sayı)
32 bit gerçel sayı
SIN VD0,VD4
COS VD0,VD4
TAN VD0,VD4
sin(VD0) yapılır,sonuç VD4’e yazılır.VD0 radyan
cinsinden girilir. Açıyı radyana çevirmek için
1.745329E-2 ile çarpılır.
32 bit gerçel sayı
LN VD0,VD4
ln(VD0) yapılır, sonuç VD4’e yazılır.
32 bit gerçel sayı
EXP VD0,VD4
e(VD0) yapılır,sonuç VD4’e yazılır.
32 bit gerçel sayı
18
3.2 Veri Đşlemleri
a) Veri Tipi Çevirme
Aşağıda tanımlı veri tipi çevirme işlemlerinin haricinde işlemlerde mevcuttur.
Komut
BTI VB0,VW2
Đşlem
VB0’daki byte değeri tamsayıya çevrilir, sonuç
VW2’ye yazılır.
Sonuç
16 bit tamsayı
DTR VD0,VD4
VD0’daki 32 bit işaretli tamsayı 32 bit gerçel sayıya
çevrilir,sonuç VD4’e yazılır.
32 bit gerçel sayı
ROUND VD0,VD4
VD0’daki gerçel sayı 32 bit tamsayıya çevrilir, sonuç
VD4’e yazılır. Virgülden sonrası yukarı veya aşağı
yuvarlanır.
VD0’daki gerçel sayı 32 bit işaretli tamsayıya
çevrilir, sonuç VD4’e yazılır. Virgülden sonrası
ihmal edilir.
VW0’daki 16 bitlik BCD kod tamsayıya
çevrilir,sonuç VW0’a yazılır.0-9999 arası BCD
çevrilebilir.
32 bit tamsayı
TRUNCATE
VD0,VD4
BCDI VW0
32 bit tamsayı
16 bit tamsayı
b) Veri Arttırma, Azaltma, Kaydırma, Döndürme
Komut
INCB VB0
DECB VB0
INCW VW0
DECW VW0
INCDW VD0
DECDW VD0
Đşlem
VB0’daki byte değeri 1 arttırılır-azaltılır.
Sonuç
8 bit (byte)
VW0’daki işaretli 16 bit değer 1 arttırılır-azaltılır.
16 bit(word)
VD0’daki işaretli 32 bit değeri 1 arttırılır-azaltılır.
32 bit
(double word)
Komut
SRB VB0,N
SRW VW0,N
SRD VD0,N
Đşlem
VB0-VW0-VD0 daki değer sağa kaydırılır.
Kaydırma sayısı N ile belirtilir. N byte-word-double
word olmasına göre maksimum 8-16-32
olabilir.Dışarı çıkan en sağdaki bit SM1.1’e
aktarılır.Boşalan bitler 0 ile doldurulur.
VB0-VW0-VD0 daki değer sola kaydırılır.
Kaydırma sayısı N ile belirtilir. N byte-word-double
word olmasına göre maksimum 8-16-32
olabilir.Dışarı çıkan en soldaki bit SM1.1’e
aktarılır.Boşalan bitler 0 ile doldurulur.
Sonuç
Đşaretsiz byte
Đşaretsiz word
Đşaretsiz d. word
Đşlem
VB0-VW0-VD0 daki değer sağa döndürülürür.
Döndürme sayısı N ile belirtilir. N 8-16-32’den
büyükse değerine bölünür ve kalan değer kadar
döndürme yapılır . En sağdaki bit SM1.1’e ve ayrıca
en baştaki bite aktarılır.
VB0-VW0-VD0 daki değer sola döndürülürür.
Döndürme sayısı N ile belirtilir. N 8-16-32’den
Sonuç
Đşaretsiz byte
Đşaretsiz word
Đşaretsiz d. word
SLB VB0,N
SLW VW0,N
SLD VD0,N
Komut
RRB VB0,N
RRW VW0,N
RRD VD0,N
RLB VB0,N
RLW VW0,N
19
Đşaretsiz byte
Đşaretsiz word
Đşaretsiz d. word
Đşaretsiz byte
Đşaretsiz word
RLD VD0,N
büyükse değerine bölünür ve kalan değer kadar
döndürme yapılır En soldaki bit SM1.1’e aktarılır ve
ayrıca en baştaki bite aktarılır.
SM1.1
SRB VB12,3
VB12
1
0
0
1
1
0
0
1
X
SM1.1
VB12
0
0
0
1
0
0
1
1
0
SM1.1
RLB VB10,5
VB10
1
0
1
1
1
0
0
1
X
SM1.1
VB10
0
0
1
1
0
0
20
1
1
1
Đşaretsiz d. word
DENEYLER :
1) Otomatik kontrol için kullanılan en yaygın denetleyiciler PID tipi denetleyicilerdir. Bu tip
denetleyicilerin denetim işaretini üretmek için oluşturdukları matematiksel ifade aşağıda
verilmiştir.
de(t )
u (t ) = K P .e(t ) + K D .
+ K I ∫ e(t ).dt
dt
•
•
Bu ifadeye bağlı olarak aşağıda verilen adreslerde verilen bilgileri tutan ve AQW200
adresinde u(t) denetim işareti bilgisini veren sistemi merdiven diyagramı, komut
kullanımı ve mantık kapıları ile oluşturunuz.
Aşağıda verilen kapalı çevrimde herhangi gerçek fiziksel bir dizge için PLC ile
birlikte hangi öğelerin eklenmesi gerektiğini bir örnekle açıklayınız.
Not: Verilen eşitlikteki türev ve integralin hesabı Euler Yöntemi ile yapılmalıdır. Ayrıca
kapalı çevrim koşulları göz önünde bulundurulmalıdır.
rd(t)
e(t)
PID
u(t)
AIW100 : çıkış işareti (y(t))
VW100 : referans işaret (rd(t))
VW200 : KP değeri
VW210 : KD değeri
VW220 : KI değeri
21
Dizge
y(t)
DENEY NO-4 : PROGRAM DENETĐM ĐŞLEMLERĐ VE
KESMELĐ ÇALIŞMA
4.1 Atlama komutları ile programlama(JMP n,LBL n)
Bir programda komutların işlenme sırası JMP n atlama komutu ve LBL n etiket
komutu çifti kullanılarak değiştirilebilir.JMP n atlama komutu yığının birinci seviyesi 1 iken
etkin olan(koşullu işletilen) bir komuttur.JMP n komutu işletildiğinde LBL n komutuna kadar
yazılmış olan komutlar atlanır ve LBL n komutunu izleyen komut ile programın yürütülmesi
sürdürülür.
JMP n ve LBL n komutları aynı anaprogram ve altprogram içinde yazılır.n sayısı CPU
212 için 0…63(64 adet) arası,CPU 214 için 0…255(256 adet) arası olabilir.Aşağıda bu
komutun kullanımına dair bir örnek verilmiştir.
NETWORK 1
LD
I0.0
JMP 0
NETWORK 2
LD
I0.1
=
Q0.0
NETWORK 3
LDN I0.0
JMP 1
NETWORK 4
LBL 0
NETWORK 5
LD
I0.2
=
Q0.1
NETWORK 6
LBL 1
NETWORK 7
MEND
I0.0
1
2
I0.1
I0.0
0
JMP
Q0.0
3
1
JMP
4
0
LBL
I0.2
Q0.1
5
6
7
1
LBL
END
Bu programın yürütülmesi şu şekilde olur:I0.0 = 0 iken yığının birinci seviyesindeki
değer 0 olacağından JMP 0 komutu işlenmez,bir sonraki komuta geçilir.Bu durumda 2,3,6 ve
7 nolu merdiven diyagram basamakları işleme girer.I0.0 = 1 iken yığının birinci seviyesindeki
değer 1 olacağından JMP 0 komutu işletilir.2 ve nolu basamaklar atlanır;4,5,6 ve 7 nolu
basamaklar işleme girer.
4.2 Altprogram kullanımı(SBR n,CALL n,RET)
Altprogramlar ana programın son komutu olan MEND(END) komutunun
yazılmasından sonra yazılan ve SBR n komutu ile başlayıp RET komutu ile sona eren
program parçalarıdır.Altprogramın son komutu olan RET komutundan önce altprogramdan
dönüşü sağlamak için koşullu dönüş komutu CRET kullanılır.n altprogram numarasını
gösterir ve CPU 212 için 0…15(16 adet),CPU 214 için 0…63(64 adet) arası
olabilir.Altprogramlar CALL n komutu ile çağrılırlar.Bu komut ise yığının birinci
seviyesindeki değer 1 ise etkin olur.Đşlem sırası bu komuta geldiğinde yığının birinci
seviyesindeki değer 0 ise bu komut işletilmez,bir sonraki komuta geçilir.Aşağıda bu komutun
kullanımına dair bir örnek verilmiştir.
22
NETWORK 1
LDN I0.0
CALL 0
NETWORK 2
LD
I0.0
CALL 1
NETWORK 3
MEND
NETWORK 4
SBR 0
NETWORK 5
LD
I0.3
A
I0.1
=
Q0.0
NETWORK 6
RET
NETWORK 7
SBR 1
NETWORK 8
LD
I0.3
O
I0.4
A
I0.2
A
I0.1
=
Q0.0
NETWORK 9
RET
I0.0
0
CALL
I0.0
1
CALL
1
2
3
END
4
0
SBR
I0.1
Q0.0
I0.3
5
6
RET
7
1
SBR
8
I0.1
I0.2
I0.3
Q0.0
I0.4
9
END
Örnekte verilen programda I0.0 değerine bağlı olarak iki altprogramdan biri
işletilir.Eğer I0.0 = 0 ise CALL 0 komutu etkin olur ve SBR 0 ile başlayıp RET ile biten
altprogram çalıştırılır.Eğer I0.0 = 1 ise CALL 1 komutu etkin olur ve ve SBR 1 ile başlayıp
RET ile biten altprogram işletilir.
4.3 Kesmeli çalışma
Kesmeli çalışma normal tarama çevrimi içinde yürütülen program komutlarının
işlemesine ara verilip başka bir göreve ilişkin bir programın yada programların yürütülmesi
işlemidir.Bu tür işlemler PLC sistem programı ile denetlenir.Kesmeli çalışma PLC tarama
süresinden bağımsız kumanda işaretlerinin algılanması ve üretilmesi için gerekli olan bir
çalışma biçimidir.
PLC’de kesmeli çalışma gerektiren kumanda sistemlerinin gerçekleşmesinde ;
• Kesmeli çalışma türleri ve sayısı
• Birden çok kesmeli çalışma işleminin yapılması durumunda kesme işlemlerinin önceliği
ve önceliğinin değiştirilebilir olup olmadığı
• Kesme isteklerinin düzenlenmesi,kesme isteklerinin sıralanması,kesme isteklerinin
karşılanmadığı durumlarda sistem davranışı
• Bir kesme programı yürütülürken daha önceki bir kesme isteği yada işareti geldiğinde
program akışının durumu gibi özelliklerin bilinmesi gerekir.
23
•
•
•
•
•
•
•
•
•
CPU 212 için
2 adet olaya bağlı,
1 adet zamana bağlı
2 adet seri iletişim
1 adet yüksek hız sayıcı için kesmeli çalışma
CPU 214 için
8 adet olaya bağlı
2 adet zamana bağlı
2 adet seri iletişim
7 adet yüksek hız sayıcı
2 adet darbe çıkışı kesmeli çalışma işlemi mevcuttur.
PLC’de herhangi bir kesme olayı için yürütülecek olan program
ATCH INT,EVENT
komutu ile tanımlanır.Burada INT kesme altprogramını , EVENT ise kesme olayını
tanımlayan numarasıdır.CPU 212 ve 214 için tanımlanan kesme numarası ve tanımları
aşağıdaki tabloda verilmiştir.
EVENT numarası
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Kesme tanımı
Yükselen kenar
I0.0
Düşen kenar
I0.0
Yükselen kenar
I0.1
Düşen kenar
I0.1
Yükselen kenar
I0.2
Düşen kenar
I0.2
Yükselen kenar I0.3
Düşen kenar
I0.3
Port 0 : Karakter al
Port 0 : Gönderme tamamlandı
Zamanlana bağlı kesme 0,SMB 34
Zamanlana bağlı kesme 1,SMB 35
HSC0 CV=PV
HSC1 CV=PV
HSC1 yön girişi değişti
HSC1 harici reset
HSC2 CV=PV
HSC2 yön girişi değişti
HSC2 harici reset
PLS0 darbe sayımı tamamlandı
PLS0 darbe sayımı tamamlandı
CPU 212
Var
Var
Var
Var
Var
Var
CPU 214
Var
Var
Var
Var
Var
Var
Var
Var
Var
Var
Var
Var
Var
Var
Var
Var
Var
Var
Var
Var
Var
Bir kesme olayı ile işletilen altprogramın yürütülmesine son vermek için
DTCH EVENT
komutu kullanılır.Bütün kesmeli çalışmalara izin vermek için
ENI
komutu ve bütün kesmeli çalışmalara son vermek için DISI komutu kullanılır.Her kesme
altprogramı
RETI
komutu ile sonlandırılır.Belirli koşullarda kesme altprogramından çıkmak için kesme
altprogramı içinde
CRETI
koşullu dönüş komutu kullanılır.
24
Kesme altprogramlarında DISI,ENI,CALL,HDEF,FOR/NEXT,LSCR,SCRE,SCRT ve
END komutları kullanılamaz.
Olaya bağlı olarak çalışan,I0.0 noktasına uygulanan işaretin çıkan kenarı ile
yürütülecek olan bir kesme altprogramı aşağıdaki gibi tanımlanır.
LD
SM0.1
ATCH 5,0
ENI
……
……
MEND
INT 5
……
altprogram parçası
……
RETI
Bu program parçası işlendiğinde işleyişi şu şekilde olur:Ana programda komutlar
sırasıyla işlenirken I0.0 girişindeki işaretin 0’dan 1’e değişmesi durumunda işlenen son komut
yürütüldükten sonra program akışı INT 5 altprogramına geçer.Altprogram yürütüldükten
sonra tekrar anaprograma dönülür ve komutların işlenmesine bırakıldığı yerden devam edilir.
Zamana bağlı bir kesme altprogramının hangi sıklıkta yürütüleceği 10 numaralı
kesme olayı için SMB34 ve 11 numaralı kesme olayı için SMB35 özel bellek alanlarına
yazılan değerlerle tanımlanır.8 bitlik bu bellek alanlarına 5 ile 255 arasında bir tamsayı değer
yazılır ve ms. olarak altprogramın işletilme sıklığı belirlenir.Örneğin MOVB 10,SMB34
komut ile SMB34 özel bellek alanına 10 değeri yazılır ve kesmeli çalışmanın her 10 ms.’de
bir yapılası sağlanır.Örneğin örnekleme zamanı 100 ms. olarak seçilen bir sayısal kontrol
yazılımı için her 100 ms’de bir işletilen altprogram kullanılır ve bu amaçla aşağıdaki program
kullanılır.
LD
SM0.1
MOVB 100,SMB35
ATCH 0,11
ENI
……….
MEND
INT 0
……….
her 100 ms’de bir kez yürütülecek program parçası
……….
RETI
Olaya ve zamana bağlı kesmelerin haricinde bulunan yüksek frekanslı işaretlerin
sayımı için kullanılan yüksek hızlı sayıcı kesmesi, iletişim kesmesi ve darbe çıkış sayımı
kesmesi gibi kesmelere burada yer verilmemiştir.Bu kesmelerin çalışması ile ilgili olarak
kaynaklar incelenebilir.
25
DENEYLER :
1) Bir elektrik motoru bir seçici anahtar kullanarak iki farklı şekilde kumanda edilmek
istenmektedir.S0 anahtarı kapalı iken motor S1(durdurma),S2(başlatma) anahtarları
tarafından,S0 anahtarı açık iken S3(durdurma),S4(başlatma) anahtarları tarafından kontrol
edilmek istenmektedir.
S0 : Seçici anahtar(I0.0)
S1 : Motoru durdurma düğmesi(I0.1)
S2 : Motoru başlatma düğmesi(I0.2)
S3 : Motoru durdurma düğmesi(I0.3)
S4 : Motoru başlatma düğmesi(I0.4)
K1 : Motoru çalıştıran kontaktör(Q0.0)
Verilen koşulları sağlayan ve giriş-çıkışları yukarıda belirtilen sistemin merdiven
diyagramı,komut kullanımı ve mantık kapıları ile programları oluşturunuz.(Atlama veya
altprogram komutlarını kullanınız)Daha sonra STEP 7 MicroWin programı ile
programlayınız.
Not : S0 anahtarının konum değiştirdiği anlarda motorun durumu önemli değildir.
2) Sabit v=1.2m/s hızında hareket eden bir taşıyıcı bant üzerindeki parçanın uzunluğu şekilde
verilen düzenekteki bir yaklaşım anahtarı kullanılarak ölçülmekte ve uzunluk bilgisi mm.
olarak belirli bir adrese yazılmaktadır. Parça uzunluğunun 800 mm.’den kısa veya 1200
mm.’den uzun olması durumunda bir kontaktör üzerinden uyarı lambası yanacaktır.
Yaklaşım anahtarı
v=1.2 m/s
S0 : Yaklaşım anahtarı(I0.0)
K0 : Uyarı lambası(Q0.0)
Verilen koşulu sağlayan ve giriş-çıkışları yukarıda belirtilen sistemin merdiven
diyagramı,komut kullanımı ve mantık kapıları ile programları oluşturunuz.(Uzunluk ölçümü
için yükselen ve düşen kenar ile etkin olan kesmeleri kullanınız.) Daha sonra STEP 7
MicroWin programı ile programlayınız.
Raporda Đstenenler:
1) Deney 1 ve 2’ye ait programların merdiven diyagramı,komut kullanımı ve mantık kapıları
ile oluşturduğunuz STEP 7 MicroWin programlarını gerekli açıklamaları ile birlikte
veriniz.
26