Skip to content
Ayarlar
Narrow screen resolution Wide screen resolution Auto adjust screen size Increase font size Decrease font size Default font size
You are here: KONULAR arrow KONULAR arrow PLC Sistemleri arrow Siemens MARKA S5 PLC LER NEDİR ?
Siemens MARKA S5 PLC LER NEDİR ? Print E-mail

1. Temel Kavramlar

1.1 Programlanabilir Otomasyon Cihazı ( PLC )

Programlanabilir otomasyon cihazı (Programmable Logic Controller - PLC), endüstriuel bir tesis veya makinanın önceden yazılmış programa ve durum değişkenine göre kontrolunu yapan mikroişlemci bazlı bir kontrol sistemidir. Bu tanımdan da anlaşılacağı gibi PLC, tamamıyla endüstriyel amaçlı olup bilgisayarlarla karıştırılmamalıdır. Tanımı somutlaştırmak amacıyla biri PLC'li diğeri konvansiyonel veya sabit kablajlı kontrolle karşılaştıralım.

Image

Şekil 1.1 : Konvansiyonel kontrol şeması örneği

Şekil 1.1 'de görülen sistemde kontaktörlerin kontrolü söz konusudur. Açma kapama elemanları (NO, NC) seçilmiş seri veya paralel olarak birbirlerine kablolar ile bağlanmıştır. Bu bağlantı şekli kontrolün mantığını oluşturmaktadır. Seçilen kontakların başka bir şekilde bağlantısı başka bir mantık oluşturacak ve kontaktör bobinlerinin değişik bir mantıkla çalışmasını sağlayacaktır. Dolayısıyla böyle bir kontrol sistemi, istenen işlevlerin daha işin başında kesin olarak bilinmesini gerektirir. Herhangibir işlev değişikliği durumunda da bütün yapının ve kablajın gözden geçirilmesişarttırki buda genelde çok zaman alıcıdır ve hataya açıktır.

Image

Şekil 1.2 : PLC ile yapılan kontrol şeması örneği

Şekil 1.2'de PLC kullanımına örnek bir bağlantı şeması görülmektedir. Burada, istenen mantık kablo bağlantılarıyla değil bir programla sağlanmaktadır. Kontrolü yapılacak sisteme ait bilgileri ileten bütün sensörler (switch, buton, fotosel, vs..) ve kontrolü gerçekleştirecek cihazlar (kontaktör, valf, lamba, vs..) kontrol mantığından bağımsız olarak PLC'ye bağlanırlar. Dolayısıyla daha sonra yapılacak işlev değişikliğide kablaja dokunmadan gerçekleştirilebilir.

1.2 PLC'nin Yapısı

Kapasitelerine göre PLC'ler mini tiplerden yüksek seviye cihazlara kadar çeşitli modellere sahip olmakla beraber, hepside aşağıdaki temel birimlerden oluşur.

Program Belleği
Prosesör
Giriş ve Çıkış Birimleri

Her üç birimi bir fiziksel yapıda birarada bulunduranlara KOMPACT, diğerlerine MODÜLER PLC'ler denir. Örneğin Er-Bakır'da da bulunan SIEMENS SIMATIC S5 serisi cihazlardan 90 ve 95U modelleri kompact, 100U, 115U, 135U ve 155U modelleri modülerdir. Bir modelin kompact olması ek modüller ilave edilmesine engel değildir. Kontrolü yapılacak sisteme ait bilgileri ileten sensörler giriş birimlerine, kontrolü yapılacak olan cihazlarda çıkış birimlerine bağlanır. Bu elemanlara kısaca sırasıyla giriş ve çıkış denir.

Giriş çıkış terimleri birlikte kullanıldığında periferi veya I/O şeklindede ifade edilebilir. Bellekle prosesörün başka yardımcı birimlerle beraber aynı fiziksel çatı altında bulunması halinde bu yapıya merkezi işlem birimi (CPU) denir.

PLC'de prosesör bellekteki programı satır satır tarar ve programda kullanılan girişte voltaj bulunup bulunmadığına bakar. Girişin durumuna ve yazılan programın mantığına göre çıkışlara komut gönderir.

PLC'ler 5vDC ile çalışan elektronik parçalar içerir. Endüstride kullabılan voltajların daha yüksek olduğu (örn. 220v AC,3~380V AC) göz önüne alındığında I/O birimlerinin işlevi ortaya çıkar; giriş birimleri dışarıdan gelen bilgileri CPU'nun anlayabileceği seviyeye düşürürken, çıkış birimleri ise CPU'dan gelen sinyalleri endüstriyel gerilimlere dönüştüren devreler içerir.

CPU'dan her birime kablo çekmek zor, masraflı ve gereksiz bir olaydır. Bunun yerine çok sayıda I/O nun aynı hattı sırayla kullandığı bir sistem uygulanır. Bu hat BUS olarak isimlendirilir. Genelde PLC'li sistemlerde üç ana BUS bulunur. Bunlar; adres, verive kontrol busıdır.

Bazı durumlarda dış hatlardan gelen bilginin direkt olarak CPU'ya uygulanmaması istenir. Bunun için izalasyon devreleri (optocoupler) kullanılır. Bunu gerçekleştiren birimlere izalasyonlu, diğerlerine izalasyonsuz birimler denir.

1.3 PLC'nin Çalışma Prensibi

PLC'ye RUN emri verildiğinde belli başlangıç hareketlerinden (I/O'ların kontrolu,vs...) sonra giriş birimlerindeki durum özel bir hafıza bölgesine (Process Input Image: PII) yazılır. Kullanıcı programı ve girişlerin durumuna göre oluşan çıkış sonuçları, programın taramasının bitiminde yine belli bir hafıza bölgesine (Process Output Image: PIQ) yazılır. Programın tamamının taranması sona erdiğinde PIQ'daki değerler çıkış birimlerine aktarılması için busa gönderilir. Kontrol Busından olumlu sinyal gelirse CPU PII'ı yeniden değerlendirmeye ve programı taramaya devam eder. PII'nın okunmasıyla sonucun PIQ'ya aktarılması arasında geçen süreye tarama süresi denir ve olabildiğince kısa olması arzu edilir. Uzun bir tarama süresi, çok kısa süreli girişlerin farkedilmemesine ve bazı durumlarda (Emergency Stop gibi) hayati tehlikeye sebeb olabilir.

1.4 Dijital ve Analog Sinyaller

Temeli var veya yok'a dayalı bilgiler dijital olarak isimlendirilir. Analog bir bilginin ise ikiden çok kademesi vardır ve içerdiği en küçük bilgi kademesi çözümleme (rezolüsyon ) olarak adlandırılır.

1.4.1 Bit, Byte ve word

İki adet (var yada yok gibi) bilgi içeren rakama ingilizce ikili rakam terimi Binary Digit'den kısaltılmış bit ismi verilir. 8 bitin kombinasyonuna byte denir. Word için ise kabul edilmiş bir standart yoktur. SIMATIC sistemlerinde 1 word = 2 byte = 16 bit'tir.

1.5 Program Belleği ve Saklama Ortamları

Yapılacak kontrolün amacına uygun mantık, kullanıcı programını oluşturur ve bellekte saklanır. Programın anlam ifade eden en küçük parçası komut adıyla anılır. SIMATIC sistemlerde her bir komut hafızada 2 veya 4 byte yer kaplar. Prosesör, bellekteki programın komutlarını sırasıyla birer birer işler ve işlenmesi gereken komutu (genelde 2 byte sonraki komut) akılda tutmak için bir sayıcı kullanır. PLC'lerde program belleği yarıiletken entegre devrelerinden oluşur. PLC'lerde genellikle RAM,EPROM ve EEPROM kullanılır. RAM'ın içeriği enerji kesilince silineceğinden rama destek sağlamak için bir pil kullanılır. EPROM'da ise bilgi elektriksel olarak silinemeyeceğinden (ultraviyole ışın ile silinebilir) pil gerektirmez. Bu nedenle, değişken olmayan kullanıcı programlarının saklanmasında kullanılır. EEPROM ise elektrik akımı ile silinebir saklama birimidir.

2. STEP 5'in Temelleri

2.1 Gösterim Şekilleri

SIEMENS SIMATIC S5'in programlama dili olan STEP 5'in üç gösterim şekli bulunmaktadır:

Komut Listesi (STament List) ( S T L )
Akış Diyagramı (Control System Flowchart) ( C S F )
Kontakt Planı (Ladder Diyagram) ( L A D )

STL, komutların satır satır sıralanması şeklindedir. Örneğin:
A I 1.0
A I 1.1
A I 1.2
O
A I 1.3
A I 1.4
=Q 4.0 

Yukarıdaki satırlardan herbiri, anlam içeren en küçük parça olduklarından, birer komuttur.

STL'de bir komutun açılımı genelde şöyledir:
<<Komut >> <<Operand kısmı( operasyon neye yapılacak)>>
A I 1.0

Operand kısmı ise ikiye ayrılabilir. Operand belirleyici ( I ) ve parametre (1.0 ) . Burada 1.0 numaralı I'ya(girişe) A(and) işlemi yapılmaktadır.

Image

Şekil 2.2 : Şekil 2.1'deki programın CSF ile gösterimi

CSF 'de ise işlemler , lojik kapılar ve diğer sembollerle gösterilir.:

Yukarıdaki örnekte & sembolü STL'deki A(and) işlemini, .1 ise O(or) işlemine karşılık gelir. CSF gösterim şekli özellikle elektronik devrelerle ilgilenen kişilere uygun gelmektedir.

LAD, elektrik devre şemasına dayanır:

 

Image

Şekil 2.3 : Şekil 2.1'deki programın LAD gösterimi

LAD gösterimi, elektrik teknisyen ve mühendislerinin tercih ettiği bir gösterimdir. Burada açık veya kapalı kontakların seri bağlanması ile A(and), paralel bağlanması ile O(or) komutu oluşur.

2.2 Bloklar

Bir yazılım bloğu, kllanıcı programının belli bir işlev, yapı veya uygulamaya göre bölünmüş bir parçasıdır. Yani, komutlar blokları, blokların bir araya gelmesi ise kullanıcı programını oluşturur. STEP 5 dilinde sinyal değerlendiren ve data saklayan bloklar vardır. Bir bloğun CPU tarafından taranabilmesi için çağrılması(jump veya call) gerekir.

2.2.1 Organizasyon Blokları (OB)
Kullanıcı programının yönetimini sağlar ve CPU ile kulanıcı arasındaki iletişimi gerçekleştirir. Ikinci durumdaki OB'ler CPU tarafından belli durumlarda otomatik olarak çağrılırlar. Örneğin:

OB 1: Son komutun işlenmesiyle kendi ilk komutuna dönen ve böylece tarama işlemini düzenleyen OB'dir. Bir programda birden fazla blok bulunuyorsa OB1 mutlaka var olmalıdır.

OB 21: CPU'nun STOP durumundan RUN durumuna geçirildiğinde sadece bir tarama boyunca çağrılan bir OB'dir.

OB 22: CPU'ya enerji verildiğinde sadece bir tarama boyunca çağrılan bir OB'dir. OB 21 ve OB 22, başlangıç durumlarında örneğin bazı counter ve bitlerin istenen durumlara getirilmesi ( veya resetlenmesi) için kullanılır.

OB 34: RAM içeriğini destekleyen pilin bitmesi veya zayıflaması halinde çağırılan OB'dir.

OB 251: sadece bazı tip CPU'larda bulunur ve PID kontrol amacıyla kullanıcı tarafından çağrılır. Görüldüğü gibi, belli numaralı OB'lerin belli işlevleri vardır. Yukarıda örneği verilen OB 251 ve başka bazı OB'ler hariç, organizasyon bloklarına STEP 5'in LAD,CSF veya STL gösterim şekilleriyle program yazılabilir.

2.2.2 Program Blokları(PB)

Genellikle kullanıcı programının en büyük parçasını oluşturur ve esas fonksiyonlar bu bloklara yazılır. PB'lerin adreslenmesinde (CPU'nun kabul ettiği maximum sayı aşılmamak şartıyla) OB'lerin tersine bir sınırlamna yoktur. Yani aynı içeriğe sahip PB 1 ile PB 21 aynı işlevi yaparlar. PB'ler kullanıcı tarafından çağrılırlar ve LAD,CSF veya STL ile programlanabilirler.

2.2.3 Fonksiyon Blokları(FB)

Tekrarlanan veya karmaşık fonksiyonların gerçekleştirilmesinde kullanılırlar. Ayrıca, SIEMENS tarafından CPU'nun hafızasında kalıcı olarak yerleştirilmiş hazır FB'ler (standart Fonksiyon Blokları) da vardır. Bunlara örneğin BCD sayıyı ikili sayıya çevirme, analog girişi okuma ve düzeltme gibi işlemler yapılabilir. 

Birkaç küçük CPU modeli hariç FB'ler parametrelenebilir. Yani, FB'de gerçekleştirilen işlevler farklı operandlarla tekrar tekrar yerine getirilebilir. FB'ler CPU'nun izin verdiği bütün komutların kullanılabileceği yegane blok tipidir (PB ve OB'lerde bazı karmaşık komutlar kullanılamaz). STEP 5versiyon VI'ya kadar olan yazılımlarda sadece STL ile programlanabilir. Standart FB'ler hariç FB'lerin adreslerinin işlevleriyle bir ilgisi yoktur. FB'ler kullanıcı tarafından çağrılırlar.

2.2.4 Data Bloklar (DB)

Data (veri) saklayan bloklardır. DB'lerin içerisinde STEP 5 komutları değil DW(Data Word) 'ler yer alır. DB 0 ve DB 1 hariç, adresleri ile işlevleri ilintili değildir. DB'ler kullanıcı tarafından çağrılırlar.

2.2.5 Sekans Blokları (SB)

Sıralı proseslerde grafik bir gösterim sağlayan ve STEP 5'in özel bir hali olan GRAPH 5'e ait bloklardır.

2.3 Segmentler

Bir bloğun, izleme kolaylığını sağlamak için bölünmüş parçasıdır. Bir blok bir veya örneğin 100 segmentden oluşabilir. Programın işlevi üzerinde herhangibir etkisi yoktur. DB'lerde segment bulunmaz.

2.4 Operand'lar

Bölüm 2.1'de operandların ikiye parçalanabileceğini söylemiştik. Operandlar ve parametre formatları şöyledir.

2.4.1 I N.M (I:input)

PII'dan okunan bir girişi gösterir. N, girişin byte numarasını gösterir. M, 0 ila 7 arasında bir rakamdır ve N byteinin ilgili bitidir. Bir girişin adreslenmesi SIMATIC modeline göre değişir. Örneğin SIMATIC 135 ve 155U sistemlerinde herbir giriş biriminin başlangıç bye'ı kendi üzerindeki dip-swich'lerle adreslenebilir. 90,95 ve 100 sistemlerinde birimlerin adresleri sabittir ve CPU'nun hemen solundaki dijital birim 0 olmak üzere byte numaraları soldan sağa doğru birer artış gösterir. Örneğin 100 U sisteminde aynı adrese sahip bir giriş ve bir çıkış olamaz, diğer modellerde ise bu mümkündür.

2.4.2 Q N.M (Q:output)

PIQ'ya ait bir çıkışı gösterir.N.M adreslemesi giriş birimleriyle aynıdır.

2.4.3 F N.M (F:flag)

Flag'lar anlık işlem sonuçlarının saklandığı hafıza bölgeleridir. Konvansiyonel sistemdeki tardımcı rölelere benzetilebilir. Herhangibir fiziksel duruma işaret etmezler, yani giriş veya çıkış değillerdir. N.M adreslemesi giriş ve çıkışlarınkine benzer.N.M 'in maksimum değeri CPU kapasitesinin bir ölçüsüdür.

2.4.4 T N (T:timer)

CPU'daki zaman elemanını gösterir. N, 0 ila CPU'nun tipine bağlı olarak 255'e kadar bir sayıdır.

2.4.5 C N (C:counter)

CPU'daki sayıcı elemanını gösterir. N, 0 ila CPU'nun tipine bağlı olarak 255'e kadar bir sayıdır.

2.4.6 IB N , QB N (B:byte)

Giriş ve çıkış byteını gösterir.N, byte numarasıdır.

2.4.7 FY N

Flag byteını gösterir. B yerine Y kısaltmasının kullanılmasının nedeni fonksiyon bloğu ile karıştırılmaması içindir.

2.4.8 IW N, QW N, FW N (W:word)

Giriş, çıkış ve flag wordlerini gösterir.SIMATIC sistemlerde 1 word= 2 bye idi . Yani bu operandlar N numaralı byte'ı ve bunun bir büyüğünü içerir. Demekki örneğin FW4 ile FW5 arasındaki ortak bir byte(FY5) vardır.

2.4.9 DW N (D:data)

Data wordler flaglara benzemekle beraber şu farklar vardır. Flaglar kendileri için cpuda ayrılmış olan özel bir bölgeyi kullanırlar. Dara wordler ise kullanıcı programı için ayrılmış yeri kullanırlar. Her DW'nin bir DB'si olmaz. Yani DW4 ile DW5 birbirinden bağımsızdır.

2.4.10 DL N (L:left)

Bir DW'nin sol baytını gösterir.

2.4.11 DR N (R:right)

Bir DW'nin sağ baytını gösterir.

2.4.12 KF+- N (K:Constant,F:fixed-point number)

Ondalık sistemin sabit bir sayısını gösterir.N:0-216-1

2.4.13 KH N (H:hexadesimal)

Hexadesimal sistemin sabit bir sayısını gösterir.N:0000-FFFF

2.4.14 KM N

İkili sistemin sabit bir sayısını gösterir.N:0000 0000 0000 0000- 1111 1111 1111 1111

2.4.15 KT N, KC N .

Sırasıyla timer ve counter formatlarında yazılmış sabit sayıları gösterir.

2.4.16 KS AB .

AB karakter çiftinin ASCII koduna göre karşılı olan sabit sayıyı gösterir. A ve B, ASCII tablosunda var olan herhangibir rakam, sembol veya harf olabilir.

2.4.17 OB N, PB N, FB N, DB N, SB N ..

Blokları gösterir. N , doğal bir sayıdır.

Sadece belli modellerde geçerli olmak üzere:

2.4.18 D N.K ..

N.ci DW'nin K. Bitini gösterir. K,0..15 arası bir rakamdır.

2.4.19 PW N (P:periferi)

PII ve PIQ'ya yazılmadan direkt olarka okunan girişleri ve direkt olarak yazılan çıkışkarı gösterir. N, I/O birimlerinin adresleridir.

2.5 RLO (Result of Logic Operation)

CPU'nun programı tarar, yani komutları birer birer işler ve her işlenen komuttan sonra bir alttakine geçer. Yani CPU programın tamamını aynı anda bilemez; sadece sıra hangi komuta gelmişse o komutu bilir. Peki anlık işlem sonuçları nerede saklanmaktadır? Örneğin 20 komut önce işlenen koşulun sonucu nerede saklanmaktadır? İşte anlık sonuçların saklandığı bu hafıza alanına RLO alanı içeriğinide RLO denir.

2.6 Akümülatör

RLO alanının byte veya word bilgilerini içerebilecek tipine akümülatör denir. RLO alanı ise sadece tek bitlik bilgi saklayabilir. Oysa byte beya word işlemleri için en az bir çoğu zaman ise birden fazla çalışma alanına ihtiyaç vardır. Akümülatörler 8,16 veya 32 bitlik olabilir.

3. STEP 5'de Bit Komutları

Bit komutları veya ikili sistem komutları, ismindende anlaşılacağı gibi bit durumlarının araştırılmasına dayanır. Komutlar STL gösteriminde ele alınacaktır.

3.1 Lojik Operasyonlar

Lojik operasyonlarda, bit operandlarının sinyal seviyesine bakılır ve operasyon bu operandlar üzerinde yapılır.

Operand Alan komutlar ve Operandları

A

Lojik AND operasyonu

AN

Lojik NAND operasyonu

O

Lojik OR operasyonu

ON

Lojik NOR operasyonu


I N.M


Q N.M


F N.M


T N


C N

Operand Almayan Komutlar:

O

And'lenmiş bir operasyonun OR'lanması

A(

Parantez içindeki komutların AND'lenmesi

O(

Parantez içindeki komutların OR'lanması

)

Parantez kapama

3.1.1 AND ve Eşitle Komutu

A veya AN operasyonlarıyla operandın durumuna bakılır ve lojik olarak AND'lenir. Sonuç '=' komutuyla istenen operanda aktarılır. Örnek:

A I 5.0
A Q 7.3
AN F 10.6
=Q 3.2

Image

Şekil 3.1 : Örnek Programın LAD ve CSF gösterimi

Örnekte I5.0 ve Q7.3 'ün '1' olması ve F10.6'nında '0' olması ile çıkış Q 3.2 '1' olmaktadır.

3.1.2 OR Komutu

Operandların durumuna bakılır ve loijk olarak OR'lanır. Örnek:

O I 17.1
ON F 3.5
O Q 5.6
=Q 2.7

burada, I 17.1,Q 5.6 nın '1' veya F3.5'in '0' olması durumunda çıkış '1' olur.

3.1.3 OR'dan önce AND Kombinasyonu

Boole cebirinde AND operasyonunun OR'a göre önceliği vardır. Böylece önce and, sonra OR'un yapılacağı bir işlem şöyle yazılabilir.

A I 2.2
A I 2.7
O
A F 8.0
A F 1.3
O Q 2.1
=Q 2.6

Image

Şekil 3.2 : yukarıdaki programın programın CSF ile gösterimi

Örnekte 1. Operasyon sonucu olumlu (I 2.2 ve I2.7 var) VEYA 2. Operasyon sonucu olumlu VEYA Q2.1 '1' ise Q2.6='1' lenir.

3.1.4 AND 'den Önce OR Kombinasyonu

Yukarıda belirtildiği gibi AND işleminin OR'a önceliği olduğundan, özellikle OR'un AND'den önce gelmesiistendiğinde parantezler kullanılmalıdır.Örnek:

A(
O Q 3.0
O F 3.1
)
A(
O I 7.1
O I 1.7
)
=Q 1.7

Image

Şekil 3.3 : Yandaki programın programın CSF ile gösterimi

3.2 Bellek Komutları

Bölüm 3.1'de ele alınan komutlar anlık durumun sınanmasına dayanıyordu. Geçmiş durumlara bakılması gereken hallerde bellek komutları kullanılır.

S

Set

R

Reset


I N.M


Q N.M


F N.M

Set komutu, öncelikli komutlarla taşınan sonuç (RLO) gerçeklenmiş('1'olmuş) ise ilgili operandı '1' yapar, ta ki operand resetleninceye kadar. Örnek:


A I 7.0
S Q 4.0
A I 7.1
R Q 4.0

Image

Şekil 3.3 : SR Flip- Flop

SR flip-floplar 1 bit kapasiteli hafıza elemandır. Örnekte I7.0 '1' ise Q4.0 '1' olacak, I7.0 '0'a dönse bile Q4.0 '1' olmaya devam edecek, taki I 7.1 '1' olup sistemi sıfırlayana kadar.Yukarıdaki örnekteki flip-flop'a reset öncelikli denir; programın yukarıdan aşağıya doğru taranması nedeniyle hem set hemde rest girişlerinin mevcut olması ile reset aktif olacak ve ağırlığı '0'a çekecektir. Her üç gösterimdede set ve resetin yerleri değiştirilerek set öncelikli flip � flop oluşturulabilir.

3.3 Timer (Zaman) Komutları

CPU'da yer alan software timerların herbiri aşağıdaki komutlarla çalıştırılabilir ve durdurulabilir.

SP

'Pulse Timer' olarak çalış

SE

'Extended Pulse Timer' olarak çalış

SR

'Switch on delay timer' olarak çalış

SS

'Stored switch-on delay timer' olarak çalış

SF

'Switch-off delay timer' olarak çalış

R

Reset


T N

Bir timerin çalıştırılabilmesi için yukarıdaki komutlardan önceki koşulun(RLO'nun) 0'dan 1'e değişmesi (Yükselen kenar) şarttır. CPU RUN'a geçtiğinde zaten 1 olan bir koşulla bir timer çalıştırılamaz. Timer'a start komutu geldiğinde CPU akümulatördeki değeri timer değeri olarak kabul eder. Dolayısıyla start edilmeden önce istenen zamanın akümülatöre yüklenmesi gerekir.<Bu işlem L KT N.M komutuyla yapılır>. Burada N.M zaman değeridir ve N üç rakamlı sayısıyla M zaman tabanının çarpımından oluşur. Şöyleki, M:

0 ise zaman tabanı 10 milisaniye
1 ise zaman tabanı 100 milisaniye
2 ise zaman tabanı 1 saniye
3 ise zaman tabanı 10 saniyedir.

Bu duruma göre örneğin KT 123.2= 123 saniye;KT 067.1=6700ms=6.7saniyedir. Örnek:

A I 22.6
L KT 123.2
SP T 10
A I 1.0
R T 10
A T 10
=Q 5.7

Image

Şekil 3.4 : LAD ve CSF'de Timer

Verilen örnekte, I22.6'da yükselen bir kenar olması halinde 10 numaralı timer 123 saniye süreyle çalışacak ve bu süre zarfında çıkışı (Q5.7) '1' olacaktır. Bu süre içerisinde I1.0 '1' olursa timer duracaktır.

3.4 Sayıcı (Counter ) Komutları

CU

(Count Up) yukarı say

CD

(Count down) aşağı say

S

Set

R

Reset


C N

CPU'daki sayıcılar 0'dan 999'a kadar sayabilir. CU ve CD komutlarıanlaşılabileceği gibi sayıcının o andaki değerini arttırmaya veya azaltmaya yarar. S komutu opsiyoneldir ve bu giriş gerçekleştiğinde akümülatör değeri sayıcıya yüklenir. CU,CD ve S komutları timer'larda olduğu gibi yükselen kenar prensibine göre çalışır. Örnek :

A I 1.0
CU C 1
A I 1.2
CD C 1
A I 1.3
L KC 500
S C 1
A C 1
=Q 2.0

Örnekte, I 1.0 geldiğinde sayıcı o anki değerini bir yükseltecek, I 1.2 geldiğinde bir düşürecek, I 1.3 geldiğinde ise daha önceki değeri ne olursa olsun sayma değeri 500'e eşitleyecektir. Sayma değeri 0 ise Q2.0 '0' olacak, diğer bütüb durumlarda (1..999) '1' olacaktır. Burada dikkat edilmesi gereken I1.0 ve I1.2'nin sürekli '1' olması yukarı veya aşağı sayma için yeterli değildir; yükselen kenar, yani bu girişlerin değişimi CU ve CD komutlarını işletir.

4. STEP 5'de Byte ve Word Komutları

4.1 LOAD (Yükle) Komutu

L Operand (Byte,Word veya double word)

Load komutu operandın değerini akümülatör 1'e yükler. Akümülatör 1'in daha önceki içeriği akümülatör 2'ye aktarılır. Akümülatöre kapasitesinden daha az sayıda bite sahip bir operand yüklenmesi mümkündür. Bu durumda kalan bitler '0' farzedilir. Örneğin akümülatörleri 16 bit olan SIMATIC S5 90/95/100/115U sistemlerinde L IB4 kullanıldığında akümülatör 1'in ilk 8 bitine IB4'ün PII'daki değeri yüklenir. Akümülatör 1'in kalan bitleri (8..15) sıfırlanır. Load komutu koşulsuz bir komuttur. Yani RLO'ya bağlı değildir.

4.2 Transfer Komutu

T Operand (Byte,word,DW)

Load komutunun dualidir. Transfer komutu akümülatör 1 değerini belirtilen operanda aktarır (kopya eder). Bu komut RLO'ya bağlı değildir.

4.3 Karşılaştırma (Compare) Komutları

Akümülatör 2 ile 1'in değerini karşılaştıran ve RLO'yu değiştiren komutlardır.

!=


Eşitmi?

><


Farklımı?

>


Büyükmü?

>


Küçükmü?

>=


Büyük veya eşitmi?

<=


Küçük veya eşitmi?


F

(işlemin 16 bit olduğunu gösterir.)


D

(işlemin 32 bit olduğunu gösterir. Sadece bazı CPU'larda)


G

(işlemin floating-point olarak 32 bit olduğunu gösterir. Bazı CPU'larda)

Karşılaştırma komutları operand almayan ve koşulsuz komutlardandır. Karşılaştırma, akümülatör 2 içeriğinin akümülatör 1'e göre sorgulanması şeklindedir.

4.4Artimetik Komutlar

Akümülatör 2 ile 1 arasında aritmetik işlemler yapan komutlardır.

+/- Toplama/ çıkarma
X/: çarpma/bölme (Sadece bazı CPU'larda)

Akümülatör 2 ile 1 arasında belirtilen işlemler yapılır ve sonuç akümülatör 1'e yazılır. Örnek:

L KF 300
L KF 700
-F
T FW10

Örnekte FW10'nun değeri �400 olacaktır. Aritmetik komutlar operand almaz ve koşulsuzdur.

4.1 Dijital Lojik Komutlar

AW (And Word)
OW (Or Word)
XOW (Exclusive Or Word)

Bu komutlar akümülatör 1 ile akümülatör 2 arasında belirtilen operasyonu 16 bit olarak yapar ve sonucu akümülatör 1'e yazar. Operatör almayan ve koşulsuz komutlardır. Örnek:


Akümülatör 1

Akümülatör 2

L IW37

1001 0101 1001 1101

0000 0000 0000 0000

L KH0FF0 

0000 1111 1111 0000 

1001 0101 1001 1101

AW

0000 0101 1001 0000 

1001 0101 1001 1101

L KH0880

0000 1000 1000 0000 

0000 0101 1001 0000

OW 

0000 1101 1001 0000 

0000 0101 1001 0000

T FW 21 

0000 1101 1001 0000

0000 0101 1001 0000

5. STEP 5'de Organizasyon Komutları

Bloklar arasındaki ilişkiyi düzenleyen veya sadece akümülatör 1'in içeriğini değiştirenkomutlara organizasyon komutları denir.

JU


Koşulsuz sıçrama (Jump Unconditional)

JC


Koşullu sıçra (Jump Conditional)


OB n



FB n



SB n



PB n


Bu komutların gerçeklenmesi halinde işlenmekte olan blok bırakılarak belirtilen bloğa gidilir. JU komutu koşulsuz olup işlendiğinde mutlaka icra edilir. JC ise RLO'nun '1' olmasına bağlı olarak icra edilir. Bu komutlardan sonra RLO '1' olur.

5.2 Data Blok Komutları

C (Call) Data Blok çağırma
G (Generate) data blok oluşturma
DB n

C DB n komutu daha sonra kullanılan DW,DL ve DR operandlarının hangi data bloğaait olduğunu belirtir. Yeni bir data bloğunun çağrılması eskisini otomatik olarak kapatır.

G DB n komutu akümülatör 1'in değeri kadar DW'e sahip, daha önce mevcut olmayan bir data blok oluşturur.

5.3 Blok Bitiş Komutları

BE (Blok End) blok sonu
BEU (Blok End Unconditional) Blok koşulsuz bitiş
BEC (Blok End Conditional) Blok Koşullu Bitiş

Bir komut JU veya JC komutuyla çağrıldığı zaman, yukarıdaki komutlardan biri işleninceye kadar o blokda işleme devam eder. Bu komutlardan biri çağrılınca dallandığı konuma geri döner.

BE, her blokta blunması gereken ve blokda sadece bir defa kullanılabilinen bir komuttur. BE komutundan sonra o bloğa komut yazılamaz. BEU tarandığı sürece mutlaka işletilen ve BE özelliği gösteren bir komuttur. BEC, RLO'nun '1' olması durumunda BE özelliği gösteren bir komuttur. BEU ve BEC bir blokda birden çok kullanılabilir.

 
< Prev   Next >
 

Free Page Rank Tool