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
5.Slayt Uyg-1: JUMP
ATLAMA KOMUTU 6.Slayt Uyg-2: JUMP_2
7.Slayt Uyg-3: JUMP_3
8.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 10.Slayt Uyg-4: For_Next
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 19.Slayt Uyg-5: SCR1
20.Slayt Uyg-6: SCR2
21.Slayt
22.Slayt
sarty 23.Slayt
24.Slayt
ALT PROGRAM OLUŞTURMA MAIN (OB1) SBR1(MANUEL) SBR2(OTOMATİK) 25.Slayt Uyg-7: SBR_INT
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. IN1 + IN2 = OUT IN1 - IN2 = OUT LAD ve FBD IN1 + OUT = OUT OUT - IN1 = OUT 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 27.Slayt Toplama, Çıkarma IN1 + IN2 = OUT IN1 - IN2 = OUT IN1 + OUT = 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
28.Slayt Uyg-8: ADD_I
29.Slayt Uyg-9: SUB_I
Matematik Komutları Çarpma , Bölme IN1 * IN2 = OUT , IN1 / IN2 = OUT LAD ve FBD IN1 * OUT = OUT , OUT / IN1 = OUT 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.
30.Slayt Uyg-10: MUL_I
31.Slayt Uyg-11: DIV_I
Etkilenen özel hafıza bitleri SM1.0 (işlem sonucu sıfır ise) 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 Y=(234,45+23,321)/(235,48-34,6) 33.Slayt Uyg-12: MAT_ORN_1
ÖRNEK ALIŞTIRMA X=(450/50). (25000/250)-(257500/4750) Y=(6900/30)
DÖNÜŞTÜRME KOMUTLARI 34.Slayt
( BCD SAYININ REEL SAYIYA DÖNÜŞTÜRÜLMESİ) DÖNÜŞTÜRME KOMUTLARI ( BCD SAYININ REEL SAYIYA DÖNÜŞTÜRÜLMESİ) 35.Slayt
REEL SAYIYI TAM SAYIYA DÖNÜŞTÜRME 36.Slayt Uyg-13:ROUND_TRUNC
KAREKÖK ALMA VE DOLDURMA KOMUTU 37.Slayt Uyg-14:FILL_N
VERİ TABLOSU OLUŞTURMA 38.Slayt
39.Slayt
TABLO OLUŞTURMA ÖRNEK 40.Slayt Uyg-15:TABLE
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 47.Slayt Uyg-16:INT
48.Slayt
49.Slayt Uyg-17:INT_KITAP
50.Slayt Uyg-17:INT_KITAP_DEVAMI
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 INT 1 52.Slayt Uyg-18:INT_TIME0
ZAMANA BAĞLI KESME 53.Slayt Uyg- SIZ DAHA SONRA YAPACAKSINIZ.
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 yakalana- mayacak kadar hızlı gelişen durum- lara gerçek zamanda tepki verilebil- mesini 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
Main OB1 SBR0 INT0 HIZLI SAYICI ÖRNEK-1 ÇÖZÜMÜ 71.Slayt 10 -10 Uyg_19:MANUEL
Ö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) HIZ ÇIK(SBR 2) HIZ ÇIK KES(INT1) Uyg_21:PLS 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 00-24 VB304 DAKİKA 0-59 VB305 SANİYE 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.