Endüstriyel Otomasyon Eğitim

Benzer belgeler
S7 300 TEMEL SEVİYE EĞİTİM NOTLARI

Fatih Üniversitesi. İstanbul. Haziran Bu eğitim dokümanlarının hazırlanmasında SIEMENS ve TEKO eğitim dokümanlarından faydalanılmıştır.

ENTEK EĞİTİM TEKNOLOJİLERİ

UYGULAMA 1 24V START CPU V LO. Verilen PLC bağlantısına göre; START butonuna basıldığında Q0.0 çıkışını aktif yapan PLC programını yazınız.

PLC (Programlanabilir Lojik. Denetleyici)

PLC DE PROGRAMIN YÜRÜTÜLMESİ

UYGULANMIŞ ÖRNEK PLC PROGRAMLARI

S7 300 HABERLEŞME SİSTEMİ. S7 300 plc MPI, Profibus ve Endüstriyel Ethernet gibi haberleşme ağlarına bağlanabilme olanağı sağlar.

Basit Işık Kontrolü. 1. Bit, Byte, Word, Double Word kavramları:

Trafik Işık Kontrolü

ZAMANLAYICILAR S de, 4 farklı zamanlayıcı vardır.

Örnek. Yıl : Ay : Gün : Saat : Dakika : Saniye : VB200 VB201 VB202 VB203 VB204 VB205 VB206 VB207

SIMATIC. S7-300 ve S7-400 Programlama İçin Merdiven Mantığı (Ladder Logic - LAD) A B. Önsöz, İçindekiler. Bitsel Mantık Komutları

B.Ç. / E.B. MİKROİŞLEMCİLER

PLC NASIL ÇALIŞIR? PROGRAMLAYICI BİRİM

DELTA PLC DE ZAMANLAYICILAR

Selçuk Üniversitesi Teknoloji Fakültesi. Endüstriyel Otomasyon Laboratuvarı Deney Föyü

Bölüm 4 Ardışıl Lojik Devre Deneyleri

PROGRAMLANAB L R DENETLEY C LER. DERS 04 STEP 7 MICROWIN SP4.0 PROGRAMI KURULUM ve TANITIMI

SIEMENS LOGO KULLANIMI VE UYGULAMALAR

MİKROSAY YAZILIM VE BİLGİSAYAR SAN. TİC. A.Ş.

C-Serisi PLC İleri Seviye Eğitim

INVT IVC1. -Kompakt Tip PLC. Marketing 2014 HM

Şekil 2.31: Proje yöneticisi penceresinden değişkenleri tanımlama

Bölüm 7 Ardışıl Lojik Devreler

UYGULAMA 1 SİEMENS S PLC UYGULAMALARI-2. Mühürleme Elemanları:

Ders Notlarının Creative Commons lisansı Feza BUZLUCA ya aittir. Lisans:

Röle Ters röle Set rölesi Reset rölesi

STEP 7 Lite ye hoşgeldiniz

Teorik Bilgi DENEY 7: ASENKRON VE SENKRON SAYICILAR

Algoritma Geliştirme ve Veri Yapıları 3 Veri Yapıları. Mustafa Kemal Üniversitesi

PROGRAMLAMAYA GİRİŞ DERS 2

Simatic PLC Eğitim Kataloğu 2013 Sayfa -1

GSM Kartı. Programlama Butonu

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1

William Stallings Computer Organization and Architecture 9 th Edition

BÖLÜM 20 ADD_I ENO IN2 OUT

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

SAVİOR OTOMASYON TEKNİK DESTEK BİRİMİ

Proje Teslimi: güz yarıyılı ikinci ders haftasında teslim edilecektir.

ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ SAYISAL DEVRE TASARIMI LABORATUVARI DENEY RAPORU. Deney No: 3 FF Devreleri

1. VERİ TABANI KAVRAMLARI VE VERİ TABANI OLUŞTUMA

NACA PROFİL AİLE GEOMETRİSİ HESAP PROGRAMI KULLANMA KILAVUZU

Merkezi İşlem Birimi MİKROİŞLEMCİ SİSTEMLERİ. MİB Yapısı. MİB Altbirimleri. Durum Kütüğü. Yardımcı Kütükler

Alvemsis PLC Otomasyon çözümleri. ALVM 21A1 Versiyon: PLC Tip: ALVM 21A1 Traih:

AGSoft Rotatif Kredi Hesaplama Programı

BÖLÜM 12. n1 değeri n2 değerine eşit olduğu zaman kontak kapanır. Kontak kapandığında enerji akışı olur. n1 veya n2 değerleri maksimum 255 olabilir.

S PLC PROGRAMLAMA BÖLÜM I GİRİŞ. Festo Eğitim ve Danışmanlık Yavuz EMİNOĞLU

Deney 3: Asenkron Sayıcılar

BÖLÜM 5 S_BĐT. Komut listesi (STL) Network 1 LD I0.0 S Q0.0, 1

1. Sayıcıların çalışma prensiplerini ve JK flip-floplarla nasıl gerçekleştirileceğini anlamak. 2. Asenkron ve senkron sayıcıları incelemek.

BİLGİSAYAR UYGULAMALARI Şırnak Üniversitesi Mühendislik Fakültesi Güz Dönemi Arş.Gör. Eren DEMİR ve Arş.Gör. Veysel KIŞ (

DERS 3 MİKROİŞLEMCİ SİSTEM MİMARİSİ. İçerik

S7-200 PLC LERĐN PPI MASTER MODUNDA BĐRBĐRLERĐ ĐLE HABERLEŞMESĐ :

BM-311 Bilgisayar Mimarisi. Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

8051 Ailesi MCS51 ailesinin orijinal bir üyesidir ve bu ailenin çekirdeğini oluşturur çekirdeğinin temel özellikkleri aşağıda verilmiştir:

Yrd. Doç. Dr. Caner ÖZCAN

Merkezi İşlem Birimi MİKROİŞLEMCİ SİSTEMLERİ. MİB Yapısı. MİB in İç Yapısı. MİB Altbirimleri. MİB in İç Yapısı

Excel Nedir? Microsoft Excell. Excel de Çalışma sayfası-tablo

Giriş MİKROİŞLEMCİ SİSTEMLERİ. Elektronik Öncesi Kuşak. Bilgisayar Tarihi. Elektronik Kuşak. Elektronik Kuşak. Bilgisayar teknolojisindeki gelişme

Adresleme Yöntemleri MİKROİŞLEMCİ SİSTEMLERİ. İşlenenin Yeri. Örnek MİB Buyruk Yapısı. İvedi Adresleme. Adresleme Yöntemleri. Bellek. Kütükler.

HAFTA 1 KALICI OLMAYAN HAFIZA RAM SRAM DRAM DDRAM KALICI HAFIZA ROM PROM EPROM EEPROM FLASH HARDDISK

KONTROL SİSTEMLERİNE GİRİŞ. Hazırlayan Dr.Birol Arifoğlu

ARTOS7F1 ARIZA TESPİT CİHAZI VE PC OSİLOSKOP 7 FONKSİYON 1 CİHAZDA

Fonksiyon Blokları Açıklamaları

Bit, Byte ve Integer. BIL-304: Bilgisayar Mimarisi. Dersi veren öğretim üyesi: Yrd. Doç. Dr. Fatih Gökçe

Adresleme Yöntemleri MİKROİŞLEMCİ SİSTEMLERİ. Örnek MİB ile Adresleme. Adresleme Yöntemleri. Doğal Adresleme. İvedi Adresleme

RedoMayer Makina ve Otomasyon

NB Macro Kullanımı Hakkında Genel Bilgiler

TEKNOLOJİK ARAŞTIRMALAR

BM-311 Bilgisayar Mimarisi

FBs-serisi. Programlanabilir Kontrol Cihazı. Kullanım Kitabı - II [ İleri Düzey Uygulamalar. Önsöz, İçerik. FBs-PLC Interrupt Fonksiyonu 9

Yrd. Doç. Dr. Caner ÖZCAN

Donanım İÇERİK. Bölüm 1:FATEK FBs PLC Serisine Genel Bakış. Bölüm 2:Sistem Mimarisi

NB Ekran Seri Port Üzerinden Veri Okuma/Yazma. Genel Bilgi Protokol Oluşturma Veri Okuma Veri Yazma

SAYICILAR. Tetikleme işaretlerinin Sayma yönüne göre Sayma kodlanmasına göre uygulanışına göre. Şekil 52. Sayıcıların Sınıflandırılması

Öğrenim Kazanımları Bu programı başarı ile tamamlayan öğrenci;


SIMAN KULLANIM KILAVUZU

2. Sayı Sistemleri. En küçük bellek birimi sadece 0 ve 1 değerlerini alabilen ikili sayı sisteminde bir basamağa denk gelen Bit tir.

idealab Kullanım Bilgileri

PROGRAMLANABĐLĐR LOJĐK DENETLEYĐCĐLER ( PLC) Sayfa 1. 1 DENEY NO:1 DENEY ADI: PROGRAMLANABĐLĐR LOJĐK DENETLEYĐCĐLER ( PLC) AMAÇ:

BİLGİSAYAR KULLANMA KURSU

8051 Ailesi MCS51 ailesinin orijinal bir üyesidir ve bu ailenin çekirdeğini oluşturur çekirdeğinin temel özellikkleri aşağıda verilmiştir:

CJ-CP1H-CP1L PLCLERĐNDE FONKSĐYON BLOĞU OLUŞTURMA

Şekil. 64 Kelimelik Yığıtın Blok Şeması

ANALOG DEĞERLERİN İŞLENMESİ

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8

x86 Ailesi Mikroişlemciler ve Mikrobilgisayarlar

DVP-01PU POZĐSYONLAMA MODÜLÜ

OTOMASYON PROJELERİ VE UYGULAMALARI

TEMEL BİLGİ TEKNOLOJİSİ KULLANIMI. Enformatik Bölümü

DTB B Serisi Sıcaklık Kontrol Cihazı

Yrd.Doç.Dr. Celal Murat KANDEMİR. Kodlama (Coding) : Bir nesneler kümesinin bir dizgi (bit dizisi) kümesi ile temsil edilmesidir.

13 Aralık Đlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL. Đlgili Modül/ler : Raporlar. Kullanıcı Tanımlı Raporlar Bölümünden Yapabildiklerimiz

BLM1011 Bilgisayar Bilimlerine Giriş I

MEB YÖK MESLEK YÜKSEKOKULLARI PROGRAM GELİŞTİRME PROJESİ. 1. Tipik bir mikrobilgisayar sistemin yapısı ve çalışması hakkında bilgi sahibi olabilme


BÖLÜM 9 (COUNTERS) SAYICILAR SAYISAL ELEKTRONİK. Bu bölümde aşağıdaki konular anlatılacaktır

Horoz Programlanabilir Zaman Rölesi

Transkript:

Endüstriyel Otomasyon Eğitim Notları Yrd. Doç. Dr. Özgür Turay KAYMAKÇI

S7 300 Temel Seviye S7 300 Temel Seviye Konu Başlıkları S7300 ün Genel Özellikleri S/300 ün Modüler Donanım Yapısı STEP 7 Simatic Manager Program Oluşturma Donanım Yapısı Oluşturma PLC nin Çalışma Felsefesi Programlama Teknikleri Yapısal Programlama Elemanları Program Bloklarını Oluşturma Program Yazım Editörü Program Gösterilimi Sayı Formatları Ġkili Mantıksal Ġşlemler Temel Mantıksal Ġşlemler Kurma-Silme Komutları Çıkan Kenar ve Düşen Kenar Algılama Komutları Ġkili Mantıksal Ġşlemlerin Ġçeriğini Bir Hafıza Elemanında Saklamak Zamanlama Ġşlemleri Gecikmeli Zamanlayıcı (S_ODT) Gecikmeli ve Mühürlemeli Zamanlayıcı (S_ODTD) Düşen Kenara Göre Gecikmeli Zamanlayıcı (S_OFFDT) Darbe Zamanlı Zamanlayıcı (S_PULSE) Uzatılmış Darbe Zamanlı Zamanlayıcı (S_PEXT) 2

S7 300 Temel Seviye Sayma Ġşlemleri Ġleri Sayıcı(CU) Geri Sayıcı(CD) Ġleri-Geri Sayıcı(CUD) Karşılaştırma Komutları Karşılaştırma Komutlarının Sayıcılarla Beraber Kullanılması Dönüştürme Komutları BCD < > 16 bitlik Tamsayı(INT) BCD < > 32 bitlik Tamsayı(INT) 16 Bitlik Tamsayı(INT) >32 bitlik Tamsayı(INT) 32 Bitlik Tamsayı(INT) >32 bitlik Gerçek Sayı(Floating Point) 16 bitlik Sayının Bit Düzeyinde Eşleniğini Alma 16 bitlik Sayının Eşleniğini Alma 32 bitlik Sayının Eşleniğini Alma 32 Bitlik Gerçek Sayıyı 32 Bitlik Tamsayıya Dönüştürme ROUND TRUNC FLOOR CEIL Sembolik adresleme ve Sembol Tablosu Değişken Tablolarının Oluşturulması(VAT) 3

S7 300 Genel Özellikler Orta performanslı işler için geliştirilmiş modüler PLC sistemi Farklı farklı otomasyon problemlerine cevap verebilecek nitelikte zengin ürün çeşidi Proseste bir geliştirme gerektiğinde kolay ve sorunsuz olarak genişleme olanağı MPI, Profibus ve Endüstriyel Ethernet gibi haberleşme ağlarına bağlanabilme olanağı Programlama aşamasında geniş bir komut kümesine destek sağlaması SCL, Graph gibi üst düzey programlama teknikleriyle programlayabilme 4

Modüler Yapı Güç Kaynağı CPU Haberleşme Modülü Ġşaret Modülleri Askı 5

Modüler Yapı Güç Kaynağı(PS) :PLC ye bağlı olan modüllerin güç ihtiyacını karşılamak için kullanılmaktadır. Maksimum 2A, 5A ve 10 A olacak şekilde 3 farklı modeli mevcuttur. CPU :Merkezi Ġşlem Birimi İşaret Modülü(SM) Digital Giriş Modülleri : 24 V. DC transistor, 120/220 V. AC röle Dijital Çıkış Modülleri : 24 V. DC transistor, 120/220 AC Röle Analog Giriş Modülü : Gerilim, Akım, Direnç ve Isılçift (Thermocouple), Analog Çıkış Modülü : Gerilim ve Akım Fonksiyon Modülü(FM) Sayma Pozisyon Kapalı Çevrim Kontrol Haberleşme Modülü(CP) 6

CPU Yapısı RUN - P RUN STOP M - RES SF BATF DC 5 V FRCE RUN STOP Durum LED leri Hafıza Kartı Giriş Yuvası Çalışma Modu Seçim Anahtarı SIMATIC S 7-300 Pil MPI MPI Bağlantı Noktası MRES :Hafıza Reset STOP :Durma Modu RUN :Çalışma Modu,bilgisayar tarafından sadece okuma anlamında ulaşım mümkün. RUN-P :Çalışma modu, bilgisayar tarafından hem okuma hem de yazma anlamında erişme mümkün. SF: Grup Hatası, CPU da yada modüllerde bir hata var BATF: Pil hatası,pilin gerilim seviyesi düşük yada pil yok DC5V:5 Volt DC sinyali FRCE :Bir yada daha fazla giriş yada çıkış zorlanıyor RUN :CPU çalışmaya başlarken yanıp söner, çalışma modunda ise sürekli yanar. STOP :Durma modunda sürekli yanar. Hafızayı sıfırlama işlemi süresince yavaş bir şekilde yanıp söner,işlemin bitmesiyle beraber hızlı olarak yanıp söner. 7

STEP 7 Simatic Manager Başlamak için Simatic Manager iconuna basın. veya Start All Programs SIMATIC Simatic Manager Program çalıştığında ilk defa kullananlar için kolaylık oluşturması adına Yeni Proje Sihirbazı ile başlar. Bu sihirbaz ile projede kullanılacak CPU, CPU nun MPI haberleşme adresi ve program esnasında gerekebilecek olan organizasyon blokları belirlenir ve proje içerisine yerleştirilir. Aşağıda verilen Yeni Proje Sihirbazı ile değil de klasik bir şekilde projeyi oluşturmak istediğimizde karşımıza gelecek olan sayfa görüntüsüdür. PC ye bağlı olan haberleşme arayüzü üzerinden ulaşılabilecek haberleşme noktalarını gösterir. Yeni proje açar PC ye kaydedilmiş projeyi açar 8

STEP 7 Simatic Manager 2. Haberleşme ayarları doğru yapıldığı takdirde (Accessible Modes) düğmesine basıldığında PC ye arayüz üzerinden bağlı olan bütün PLC ler görünecektir. MPI ağı, seri olarak kendine has bir protokolle, RS 485 fiziksel katmanı üzerinden haberleşen bir ağ yapısıdır. Ağdaki haberleşme hızı, ağdaki modülleri birbirine bağlayan haberleşme kablosunun uzunluğuna ve ağda haberleşen modül sayısına bağlıdır. Bu bağlamda PC ile PLC arasındaki haberleşme hızını ve timeout süresini ağın durumuna uygun olarak seçmek gerekir. Eğer haberleşilmek istenilen PLC bir MPI ağına bağlı ise Accessible Nodes ikonuna basıldığında, PC hem bu PLC yi hem de ağdaki diğer modülleri bulur. Program PC den çıkan MPI kablosunun bağlı olduğu modülü ekstradan belirtmek için MPI adresini belirttikten sonra yanına (Direct) yazar. 9

STEP 7 Simatic Manager Proje Oluşturma Simatic Manager ekranında New Project/Library ikonuna basıldığında proje oluşturma sayfası belirir. Buradan oluşturulacak olan projenin ismi, tipi girilir. Oluşturulacak olan proje eğer bir değişiklik yapılmazda standart olarak C:\Program Files\Siemens\Step7\s7proj dizini altına kaydedilir. 10

STEP 7 Simatic Manager İstasyon Oluşturma Simatic Manager bünyesinde proje sadece PLC ye yüklenecek olan kod kümesini içermez aynı zamanda PLC ye ait donamım yapısı ve haberleşme yapısını da içermektedir. Bu bağlamda oluşturulan projedeki veriler proje bünyesinde objeler şeklinde hiyerarşik bir yapıda saklanır. Insert Station Simatic 300 Station ile projenin içerisine bir S7 300 istasyonu yerleştirin. 11

STEP 7 Simatic Manager Donanım Yapısını Oluşturma S7 300 PLC ailesi farklı otomasyon uygulamaları için farklı farklı giriş çıkış arabirimlerine sahiptir. Bu tercih edilen çevre birimlerine ait giriş ve çıkışları kullanmadan önce ilk olarak CPU nun hafızasına yüklemek gerekir. Bunun için STEP 7 ile beraber gelen HW Config programı kullanılır. Ġlk olarak katalogdan PLC nin üzerinde yerleşeceği askı seçilir. Bir excel tablosunu andıran yapıda gösterilen her bir satır, askı üzerindeki yarıkları sembolize eder. 1 no.lu yarık güç kaynağı için ayrılmıştır. 2 ve 3 no.lu yarıklar CPU ve sonrakiler ise haberleşme, işaret ve fonksiyon modülleri için ayrılmıştır. 12

STEP 7 Simatic Manager Donanım Yapısını Oluşturma PS 307 5A CPU 315-2 DP DI16xDC24V DO16XDC24V/0.5A AI4/AO2 PS CPU DI DO AI/AO Yukarıdaki gibi bir donanım yapısı HW Config. programı yardımıyla şu şekilde oluşturulur. Ġlk olarak katalogdan S7 300 için askı seçilir. Arkasından 1 no.lu yarık işaretlendikten sonra katalogdan PS başlığı altından verilen özelliklere sahip olan güç kaynağı seçilir. Arkasından 2 no.lu yarık seçilir ve CPU-300 başlığı altından uygun işlemci tercih edilir. 3 no.lu yarığı fiziksel olarak CPU doldurduğundan burası boş bırakılarak 4 no.lu yarık seçilir. DI-300 başlığından uygun dijital giriş modülü tercih edilir. Aynı işlem 5 ve 6 no.lu yarıklar için tekrarlanır. 13

STEP 7 Simatic Manager Proje: Donanım ve diğer yapıların(mpi, Profibus gibi) saklandığı klasör Simatic S7300 Station : Uygun donanım yapısının ve CPU datalarının saklandığı klasör Symbols: Sembolik adresleme için genel sembollerin saklandığı veri tablosu Sources: Geliştirilen STL, SCL yada GRAPH tabanlı program parçacıklarının kaynak kodları saklanır. Blocks: Lojik Bloklar(OB, FB, FC, SFB ve SFC), Data Blokları, Sistem Data Blokları ve Değişken Tabloları saklanır. 14

PLC nin Çalışma Felsefesi Giriş Görüntü Belleği(PII) deki değerleri yeniler. PLC nin hafızasındaki program parçası Satır 1. Satır 2. Satır. n. Satır PII Sayıcı Hafıza Alanı PIQ Zamanlayıcı Çıkış Görüntü Belleği(PIQ) deki değerleri çıkışa aktarır. Giriş birimlerindeki değerler Giriş Görüntü Belleği(PII) ne kaydedilir. Bu değerler bir sonraki çevrime kadar değişmez. Program belleğindeki komutlar adım adım sırayla işlenir. Programda kullanılan giriş değerleri giriş görüntü belleğine yazılan değerlerdir ve bir program çevrimi süresince değişmez. Hesaplanan çıkış değerleri Çıkış Görüntü Belleğine(PIQ) kaydedilir. Hatalı çalışma durumları incelenir. Hata yoksa çıkış görüntü belleğine kaydedilen değerler çıkış birimine aktarılır. Çıkış birimine aktarma işlemi tamamlandıktan sonra tekrar birinci adıma dönülür. Çıkış birimine aktarılan değerler bir sonraki çevrime kadar değişmez. 15

Programlama Teknikleri Lineer Programlama. OB1 Proje bünyesinde PLC için geliştirilen program tek bir blok üzerinden programlanır. Alt program gibi yapılar kullanılmaz. Çözüm tek bir program parçası ile üretilir. Yapısal Programlama OB1 FC1 FB3.. DB30 Bu programlama tekniğinde program uygun alt parçalara bölünür. Ana Program ise bunları çağıran bir yapıda programlanır. Hem projenin tasarımı hem de işletilmesi aşamasında kullanıcılara kolaylıklar sağlar. 16

STEP 7 de Yapısal Programlama Elemanları DB FC FB SFC SFB OB FC FC SFC FB FB FC OB: Organizasyon Blokları işletim sistemi tarafından çağrılan bloklardır. Ġşlevlerine göre farklı farklı organizasyon blokları mevcuttur. Mesela OB1 ana programın koşturulduğu organizasyon bloğudur. Bunun yanında OB35 zamana bağlı kesmeli çalışan organizasyon bloğudur. CPU nun tipine göre organizasyon blokların sayısı değişebilir. FC/FB: Fonksiyon ve Fonksiyon Blokları yapısal programlama mantığı içerisinde gelişmiş bir alt program gibi davranan yapılardır. Kompleks program parçalarını küçük, takip edilebilir yapılara bölmek için kullanılabilir. SFC/SFB: Sistem Fonksiyon ve Sistem Fonksiyon Blokları CPU ile birlikte gelen hazır yapılardır. DB: Veri Blokları veri saklanmak için kullanılan yapılardır. Özel ve Genel olmak üzere iki farklı tipi mevcuttur. 17

Program Bloklarını Oluşturma Simatic Manager bünyesinde program parçalarını oluşturabilmek için ilk olarak Blocks klasörü seçilir. Klasör seçili iken sağda oluşan pencerede mouse a sağ kliklemek suretiyle yeni bir pencere açtırılır. Bu pencerede Insert New Object altından istenilen blok tercih edilir. Diğer bir şekilde Blocks klasörü yine seçili iken Insert S7 Block şeklindedir. Proje oluşturulmasıyla birlikte Blocks klasörünün altında OB1 Ana Program Bloğu standart olarak oluşur. Insert S7 Block Function ile yeni bir Fonksiyon oluşturun. 18

Programın Yazılması Oluşturulan program bloğu üzerine iki defa kliklediğimizde program yazmak için geliştirilmiş olan LAD, STL, FBD Programming S7 Blocks programı bünyesinde istemiş olduğumuz blok açılır. Temel programlama elemanları Programın kodunun geliştirildiği ortam Geliştirilen kodu PLC ye yükler. PLC yi programlayabilmek için çağıracağımız tüm komutları içeren katalog Sembolik gösterilimi aktif hale getirir. Gözlemleme(Monitor) işlevini aktif hale getirir. Yeni Network oluşturur. 19

Program Gösterimi Bir kumanda ya da kontrol sisteminin çözümüne ilişkin sözel ya da matematiksel kuralların PLC program belleğine aktarılması özel bir programlama dili ve derleyicisi aracılığıyla yapılır. PLC programlama dilleri, komut ile programlama ve grafiksel programlama olarak iki ana başlık altında toplanabilir. Programın geliştirildiği ortam olan LAD, STL, FBD Programming S7 Blocks da 3 farklı şekilde program geliştirmek mümkündür. Bunlardan biri komut ile programlama tekniğine diğer ikisi ise grafiksel programlama tekniğine girer. Bunlar aşağıdaki gibidir. Network 1 Network 2 I0.2 I0.3 Q4.1 Merdiven Diyagramı(LAD) Network 1 A I 0.0 A( O I 0.1 O Q 4.0 ) = Q 4.0 Network 2 A I 0.2 Network 1 A I 0.3 >= & = Q 4.1 Q4.1 = Komut Listesi(STL) Network 2 I0.2 I0.3 & Q4.1 = Fonksiyon Blok Diyagramı(FBD) 20

Sayı Formatları Bit Ör:,,, MW5.9 Byte(B) Ör: MB9, IB3, QB4 Interger(I) Ör: MW10, MW12, IW0 Double Integer(DI) Ör: MD10, MD14, IW0 Floating Point Ör: MD10, MD14 1 Byte = 8 Bit 1 Integer = 16 Bit 1 Integer = 2 Byte 1 Double Integer = 32 Bit 1 Double Integer = 4 Byte İşaretsiz Tam Değer İşaretli Tam Değer Byte 0 255-127 128 (0 FF) (80 7F) Integer 0 65535-32,768 32,767 (0 FFFF) (8000 7FFF) Double Integer 0 4,294,967,295-2,147,483,648 2.147,483,647 (0 FFFFFFFF) (8000 0000 7FFF FFFF) 21

Sayı Formatları MSB LSB 7 6 5 4 3 2 1 0 I 0 I 1 I 2 I 3 I 4 I 5 I 6 I 7 I 3.4 Byte ın kaçıncı biti olduğu Ayraç Byte numarası Adres Tipi MSB 7 MB20 LSB 0 MB20 Hafıza bölgesini belirtir Hafıza formatını belirtir Hafıza alanını belirtir 22

Sayı Formatları Integer 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 =125 BCD 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 İşaret 0000 + 1111-1 2 5 BCD formatında her bir ondalık sayı 4 bitle ifade edilir. 16 bitlik bir alanda BCD formatında -999 ile 999 arasındaki sayılar saklanabilir. MSB 15 8 7 MB20 MW20 MB21 LSB 0 MSB LSB 31 24 23 16 15 8 7 0 MB20 MB21 MB22 MB23 MW20 MD20 MW22 23

İkili Mantıksal İşlemler Kumanda devrelerindeki mantıksal işlevlerin gerçeklenmesi kontrol birimine ilişkin ikili mantıksal işlemlerle yapılır. Elektropnömatik kumanda devreleri için de geçerli olan bu tür işlemler komut (STL), merdiven mantığı (LAD) veya fonksiyon blok (FBD) ile ifade edilebilir. Ġkili mantıksal işlemlerde kullanılacak olan komutlar komut katalogundaki Bit logic bölümünün altındadır. Yanda hem LAD hem de FBD için iki mantıksal işlemlerde kullanılabilecek olan komutlar verilmiştir. STL de bu komutlarla aynı işlevi sağlayan komutların yanı sıra LAD ve FBD de karşılığı olmayan komutlar da mevcuttur. LAD FBD 24

İkili Mantıksal İşlemler Temel Mantıksal İşlemler Temel mantıksal işlem komutları VE(AND), VEYA(OR) ve DEĞĠL(NOT) komutlarıdır. Bu komutları merdiven mantığıyla programlama tekniğinde normalde açık, normalde kapalı kontak gibi sembolleriyle gerçeklenirler. Programlama tekniği olarak ta merdiven mantığı geleneksel kumanda devrelerine benzemektedir. Pasifken Aktifken PLC deki gösterim Normalde Açık Kontak Normalde Kapalı Kontak VE Kapısı A B Q 0 0 0 0 1 0 1 0 0 1 1 1 VEYA Kapısı A B Q 0 0 0 0 1 1 1 0 1 1 1 1 DEĞĠL Kapısı A Q 0 1 1 0 A B Q A Q A Q B 25

İkili Mantıksal İşlemler Temel mantıksal işlemler bit düzeyinde şu adres alanları için geçerlidir. I, Q, M, L, D, T, C Mantıksal Fonksiyon Q4.1 = [ ( * ) + M0.1 ] * [ I0.2 * M0.0 ] LAD STL M0.1 I0.2 M0.0 Q4.1 A( AN I 0.0 AN I 0.1 O M 0.1 FBD ) A( & ON I 0.2 >= O M 0.0 M0.1 I0.2 >= & ) = Q 4.1 M0.0 Q4.1 = Problem Q4.2 = M1.0 + [ * * ( I0.2 + Q4.2 )] Q4.3 = [ ( + ) * I0.3 * I0.4 ] + I0.2 26

İkili Mantıksal İşlemler Kurma-Silme(SET-RESET) İşlemleri Kurma komutu, bir bitlik adres alanının içeriğini 1 yapar. Silme komutu ise bir bitlik adres alanının içeriğini 0 a çeker. Geçerli Giriş Adresleri(Bit) I, Q, M, L, D Network 1 S Network 1 S Network 2 Network 2 R R LAD FBD Zaman Diyagramı 27

İkili Mantıksal İşlemler Kurma veya Silme Baskın İki Kararlı İşlem Elemanları Kurma baskın iki kararlı (RS) elemanın her iki girişi de 1 yapıldığında çıkışı 1, silme baskın iki karalı (SR) elemanın her iki girişi de 1 yapıldığında çıkışı 0 olur. Diğer giriş değerlerinde silme kurma komutları ile eşdeğerdir. Geçerli Giriş Adresleri(Bit) Geçerli Çıkış Adresleri(Bit) I, Q, M, L, D I, Q, M, L, D Network 1 M0.0 SR S Q R Network 1 S R M0.0 SR = Network 2 M0.1 RS Q4.1 R Q Network 2 R M0.1 RS Q4.1 S S = LAD Zaman Diyagramı FBD RLO M0.0, M0.1 Q4.1 28

İkili Mantıksal İşlemler Çıkan Kenar ve Düşen Kenar Algılama Komutları Bir işaretin yalnız çıkan veya düşen kenarlarını algılamak için giriş işaretinin mantıksal 0 dan 1 e değişmesi veya 1 den 0 a değişmesi durumunda 1 program tarama süresince mantıksal 1 işareti üreten komutlar kullanılır. S7 300 CPU larda iki farklı tür kenar algılama komutu mevcuttur. 1. RLO Kenar Değerlendirmesi Geçerli Giriş Adresleri(Bit) I, Q, M, L, D Network 1 M0.0 P Network 1 & M0.0 P = Network 2 M0.1 N Q4.1 Network 2 & M0.0 P Q4.1 = LAD FBD Zaman Diyagramı RLO M0.0, M0.1 Q4.1 29

İkili Mantıksal İşlemler 2. İşaret Kenar Değerlendirmesi Geçerli Giriş Adresleri(Bit) I, Q, M, L, D Network 1 POS Q Network 1 POS M0.0 M_BIT = M0.0 M_BIT Network 2 Network 2 NEG Q Q4.1 M0.1 NEG Q4.1 = M0.1 M_BIT LAD FBD Zaman Diyagramı 1 tarama süresi 1 tarama süresi Q4.1 30

İkili Mantıksal İşlemler Lojik İfadenin İçeriğini Bir Hafıza Alanında Saklama Ġkili mantıksal işlemlerin ara sonuçlarını ikili sonuç komutu kullanmadan saklamaya yarayan komuttur. Bu şekilde aynı ikili alt işlemi bir alt satırda yeniden yapılması gerekmez. Geçerli Giriş Adresleri(Bit) I, Q, M, * L, D * L adres alanı sadece lojik bloğun(fc, FB ve OB) değişken tablosunda bir geçici hafıza olarak tanımlanmış ise kullanılabilir. Network 1 M0.0 I0.2 I0.3 # Q4.1 M0.1 # NOT LAD Network 1 & M0.0 # & I0.2 & M0.0 I0.3 >= # Q4.1 = FBD 31

Zamanlama İşlemleri Genel Özellikler 5 tip zamanlayıcı mevcuttur. S_ODT(SD) Gecikmeli Zamanlayıcı S_ODTD(SS) Gecikmeli ve Mühürlemeli Zamanlayıcı S_OFFDT(SF) Düşen Kenara Göre Gecikmeli Zamanlayıcı S_PULSE(SP) Darbe Zamanlı Zamanlayıcı S_PEXT(SE) Uzatılmış Darbe Zamanlı Zamanlayıcı S7 300 ailesine ait CPU larda S7 200 lerden farklı olarak CPU daki zamanlayıcılar, zamanlayıcı tiplerine göre belli sabit sayılarda olacak şekilde ayrılmamıştır. Projedeki ihtiyaca bağlı olarak istenilen tipte zamanlayıcı CPU nun izin verdiği zamanlayıcı sayısını aşmamak şartıyla istenildiği kadar kullanılabilir. Bunlardan dördü yükselen kenar, bir türü ise düşen kenar ile tetiklenir. Zamanlayıcılar tetikleme prensibine göre çalışırlar ve içerikleri belirlenen zamandan 0 a doğru geriye akar. Her yeni gelen tetikleme sinyali ile zamanlayıcı içeriğine belirlenen zaman yeniden yüklenir ve yeniden geriye doğru akmaya başlar. Her bir zamanlayıcı için CPU nun hafızasında 16 bitlik bir bellek adresi ayrılmıştır. Zamanlayıcı adedi CPU nun tipine bağlıdır. S7 300 CPU Tipi Zamanlayıcı Adedi CPU 312 0 63 CPU 313 0 127 CPU 314 0 127 CPU 315 0 127 CPU 315-2DP 0 127 CPU 318-2DP 0 511 32

Zamanlama İşlemleri Zamanlayıcı Değeri(TV) Her bir zamanlayıcı için CPU nun hafızasında 16 bitlik bir bellek adresi ayrılmıştır. 13 12 11 0 Zamanlayıcı için ayrılmış 16 bitlik adres alanında 0 ile 11 no.lu bitler arasına BCD formatında zaman değeri, 12 ve 13 no.lu bitlere ise Zaman Çarpanı(Zaman Tabanı) yazılır. 14 ve 15 no.lu bitler ise kullanılmamaktadır. Buna göre zamanlayıcılar ile 10 ms. den 2 saat 46 dakika ve 30 saniyeye kadar bir süre için gecikme yaratılabilir. 13. bit 12. bit Zaman Çarpanı 0 0 0.01 s. 0 1 0.1 s. 1 0 1 s. 1 1 10 s. Zamanlayıcı değerini iki farklı şekilde atamak mümkündür. 1. Hexadecimal formatta atama yapma W#16#klmn k : Zaman çarpanı lmn : BCD formatında zaman değeri 1 saat,10 dakika ve 20 saniye için TV yerine W#16#3422 yazılmalıdır. 7 saniye 20 milisaniye için TV değeri olarak W#16#0702 yazılmalıdır. 2. S5 Time formatında atama yapma S5T#wH_xM_yS_zMS H: Saat M: Dakika S: Saniye MS: Milisaniye 1 saat,10 dakika ve 20 saniye için TV yerine S5T#1H10M20S yazılmalıdır. 7 saniye 20 milisaniye için TV değeri olarak S5T#7S20MS yazılmalıdır 33

Zamanlama İşlemleri S_ODT(SD) Gecikmeli Zamanlayıcı Gecikmeli Zamanlayıcı, Kurma(S) girişinin yükselen kenarı ile zaman geriye doğru akar ve öngörülen TV değeri dolduğunda Q çıkışı 1 olur. Kurma girişi 0 olana kadar(r=0 koşulunda) veya Silme(R) girişinin 1 olmasıyla çıkış 1 olmaya devam eder. Her zaman Silme girişinin önceliği vardır. Geçerli Adresler S(bit) : I, Q, M, D, L, T, C TV : I, Q, M, D, L veya sabit R(bit): I, Q, M, D, L, T, C Q(bit) : I, Q, M, L, D BI(Int) : I, Q, M, D, L BI_BCD(Int) : I, Q, M, D, L T0 S_ODT S Q S T0 S_ ODT BI S5T#10S R TV BI BI_BCD S5T#10S TV R BI_BCD Q = LAD FBD T0 10 s. 34

Zamanlama İşlemleri S_ODTS(SS) Gecikmeli ve Mühürlemeli Zamanlayıcı Gecikmeli ve Mühürlemeli Zamanlayıcı, Kurma(S) girişinin yükselen kenarı ile zaman geriye doğru akar ve öngörülen TV değeri dolduğunda Q çıkışı 1 olur. Kurma girişi 0 olsa bile zaman geriye doğru akmaya devam eder. Öngörülen TV değeri dolduğunda Q çıkışı mühürlenir ve kurma girişinden yeni bir tetiklemeye kapanır. Çıkış silme(r) girişine 1 sinyali gelene kadar 1 olmaya devam eder. Sime(R) girişinin önceliği vardır. Geçerli Adresler S(bit) : I, Q, M, D, L, T, C TV : I, Q, M, D, L veya sabit R(bit): I, Q, M, D, L, T, C Q(bit) : I, Q, M, L, D BI(Int) : I, Q, M, D, L BI_BCD(Int) : I, Q, M, D, L T0 T0 S_ODTS S_ ODTS S Q S BI S5T#10S R TV BI BI_BCD S5T#10S TV R BI_BCD Q = LAD FBD T0 35

Zamanlama İşlemleri S_OFFDT(SF) Düşen Kenara Göre Gecikmeli Zamanlayıcı Düşen Kenara Göre Gecikmeli Zamanlayıcının Kurma(S) girişinin yükselen kenarı ile Q çıkışı 1 olur, düşen kenarı ile zaman geriye doğru akmaya başlar ve öngörülen zaman değeri dolduğunda Q çıkışı 0 olur. Zamanlayıcının içeriği 0 olmadan kurma girişi yeniden 1 olması halinde zamanlayıcının içeriği sabit kalır. Kurma girişi yeniden 0 olmasıyla da zamanlayıcı geriye doğru kaymaya devam eder. Silme girişinin önceliği vardır. Geçerli Adresler S(bit) : I, Q, M, D, L, T, C TV : I, Q, M, D, L veya sabit R(bit): I, Q, M, D, L, T, C Q(bit) : I, Q, M, L, D BI(Int) : I, Q, M, D, L BI_BCD(Int) : I, Q, M, D, L T0 S_OFFDT S Q S T0 S_ OFFDT BI S5T#10S R TV BI BI_BCD S5T#10S TV R BI_BCD Q = LAD FBD T0 36

Zamanlama İşlemleri S_PULSE(SP) Darbe Zamanlı Zamanlayıcı Darbe Zamanlı Zamanlayıcının Kurma(S) girişinin yükselen kenarı ile zaman geriye doğru akar ve Q çıkışı 1 olur. Öngörülen TV değeri dolduğunda yada kurma girişi 0 olduğunda Q çıkışı 0 olur. Zamanın geriye doğru akması için kurma girişinin 1 olması gerekir. Silme girişinin önceliği vardır. Geçerli Adresler S(bit) : I, Q, M, D, L, T, C TV : I, Q, M, D, L veya sabit R(bit): I, Q, M, D, L, T, C Q(bit) : I, Q, M, L, D BI(Int) : I, Q, M, D, L BI_BCD(Int) : I, Q, M, D, L T0 S_PULSE S Q S T0 S_PULSE BI S5T#10S R TV BI BI_BCD S5T#10S TV R BI_BCD Q = LAD FBD T0 37

Zamanlama İşlemleri S_PEXT(SE) Uzatılmış Darbe Zamanlı Zamanlayıcı Darbe Zamanlı Zamanlayıcının Kurma(S) girişinin yükselen kenarı ile zaman geriye doğru akar ve Q çıkışı 1 olur. Zamanlayıcı değeri(tv) dolduğunda yada kurma girişi 0 olduğunda Q=0 olur. S girişi 0 a düştüğünde hala zaman geriye doğru akmaya devam ediyor ise Q çıkışı öngörülen zamanın sonunda sıfıra düşer. Geçerli Adresler S(bit) : I, Q, M, D, L, T, C TV : I, Q, M, D, L veya sabit R(bit): I, Q, M, D, L, T, C Q(bit) : I, Q, M, L, D BI(Int) : I, Q, M, D, L BI_BCD(Int) : I, Q, M, D, L T0 T0 S_PEXT S_ PEXT S Q S BI S5T#10S R TV BI BI_BCD S5T#10S TV R BI_BCD Q = LAD FBD T0 38

Sayma İşlemleri Genel Özellikler Sayma işlemleri için 3 farklı tür sayıcı kullanılır. Ġleri Sayıcı(CU) Geri Sayıcı(CD) Ġleri-Geri Sayıcı(CUD) Her bir sayıcı için CPU nun hafızasında Sayıcı Değeri olarak adlandırılabilecek 16 bitlik bir bellek adresi ayrılmıştır. Bir sayıcı 0 dan 999 a kadar sayabilir. Sayıcılar ileri yada geri sayma girişlerine gelen sinyalin çıkan kenarına göre içeriğini değiştirirler. Sayıcı adedi CPU tipine bağlıdır. S7 300 CPU Tipi Sayıcı Adedi CPU 312 0 128 CPU 313 0 255 CPU 314 0 255 CPU 315 0 255 CPU 315-2DP 0 255 CPU 318-2DP 0 511 12 11 0 0 0 1 0 0 0 0 1 0 1 1 1 2 1 7 16 bitlik Sayıcı Değeri adres alanında 0 ile 11 no.lu bitler arasına BCD formatında sayıcı içeriği kaydedilir. 12, 13, 14 ve 15 no.lu bitler ise kullanılmamaktadır. Mesela sayıcının içeriği 217 değeri kurulmak istendiğinde PV girişine C#217 yazılmalıdır. 39

Sayma İşlemleri İleri Sayıcı(CU) Ġleri Sayıcı, Sayıcı İleri(CU) girişine gelen işaretin çıkan kenarı ile 16 bitlik Sayıcı Değerinin içeriğini 1 arttırır. Sayıcı Değerinin 0 dan farklı olması durumunda sayıcı Q çıkışını 1 yapar. Kurma(S) girişi gelen sinyalin çıkan kenarı ile de Sayıcı Değerine PV(Preset Value) girişine yazılmış olan değer aktarır. Silme(R) girişi ise diğer iki girişten farklı olarak kendisine bağlı olan sinyalin 1 olduğu süre boyunca etkin olur ve Sayıcı Değerine 0 yazar. Sayıcı Değeri tamsayı(integer) formatında BI çıkışına, BCD formatında ise BI_BCD çıkışına aktarılır. Geçerli Adresler CU(bit):I, Q, M, D, L S(bit) : I, Q, M, D, L PV : I, Q, M, D, L veya sabit R(bit): I, Q, M, D, L Q(bit) : I, Q, M, L, D BI(Int) : I, Q, M, D, L BI_BCD(Int) : I, Q, M, D, L C0 S_CU CU Q S BI MW10 C#5 PV I0.2 R BI_BCD LAD C0 S_ CU CU MW12 Sayıcı I0.2 5 4 3 2 1 0 C#5 I0.2 S PV R BI CV_BCD Q MW10 MW12 = FBD 40

Sayma İşlemleri Geri Sayıcı(CD) Geri Sayıcı, Sayıcı Geri(CD) girişine gelen işaretin çıkan kenarı ile 16 bitlik Sayıcı Değerinin içeriğini 1 azaltır. Sayıcı Değerinin 0 dan farklı olduğu sürece sayıcı Q çıkışını 1 yapar. Kurma(S) girişi gelen sinyalin çıkan kenarı ile de Sayıcı Değerine PV(Preset Value) girişine yazılmış olan değer aktarır. Silme(R) girişi ise diğer iki girişten farklı olarak kendisine bağlı olan sinyalin 1 olduğu süre boyunca etkin olur ve Sayıcı Değerine 0 yazar. Sayıcı Değeri tamsayı(integer) formatında BI çıkışına, BCD formatında ise BI_BCD çıkışına aktarılır. Geçerli Adresler CU(bit):I, Q, M, D, L S(bit) : I, Q, M, D, L PV : I, Q, M, D, L veya sabit R(bit): I, Q, M, D, L Q(bit) : I, Q, M, L, D BI(Int) : I, Q, M, D, L BI_BCD(Int) : I, Q, M, D, L C0 S_CD CD Q S BI MW10 C#5 I0.2 C#5 PV I0.2 R C0 S_CD CD S PV R CV_BCD BI_BCD BI Q MW10 MW12 MW12 = I0.2 5 4 Sayıcı 3 2 1 0 41

Sayma İşlemleri İleri-Geri Sayıcı(CUD) Ġleri-Geri Sayıcı, Sayıcı İleri(CU) girişine gelen işaretin çıkan kenarı ile Sayıcı Değerinin içeriğini 1 arttırır, Sayıcı Geri(CD) girişine gelen sinyalin çıkan kenarı ile de Sayıcı Değerini 1 azaltır. Sayıcı Değerinin 0 dan farklı olması durumunda sayıcı Q çıkışını 1 yapar. Kurma(S) girişi gelen sinyalin çıkan kenarı ile de Sayıcı Değerine PV(Preset Value) girişine yazılmış olan değer aktarır. Silme(R) girişi ise diğer iki girişten farklı olarak kendisine bağlı olan sinyalin 1 olduğu süre boyunca etkin olur ve Sayıcı Değerine 0 yazar. Sayıcı Değeri tamsayı(integer) formatında BI çıkışına, BCD formatında ise BI_BCD çıkışına aktarılır. Geçerli Adresler CU(bit):I, Q, M, D, L S(bit) : I, Q, M, D, L PV : I, Q, M, D, L veya sabit R(bit): I, Q, M, D, L Q(bit) : I, Q, M, L, D BI(Int) : I, Q, M, D, L BI_BCD(Int) : I, Q, M, D, L C0 S_CUD CU Q CD I0.2 S BI BI_BCD MW10 MW12 C#5 PV I0.3 R C0 S_CUD CU CD I0.2 S BI MW10 I0.2 I0.3 7 6 5 4 3 2 1 0 C#5 I0.3 PV R CV_BCD Q MW12 = 42

Karşılaştırma Komutları Genel Özellikler Çeşitli boyutlardaki veriler büyüklük, küçüklük veya eşitlik ölçütlerine göre karşılaştırma komutları kullanılarak değerlendirilir. Bu komutlar kullanılarak 16 bitlik tamsayı(int), 32 bitlik tamsayı(dint) ve 32 bitlik gerçek sayıları(floating-point) karşılaştırılabilir. 6 farklı karşılaştırma yapmak mümkündür. Büyük mü?(>) Küçük mü?(<) Büyük eşit mi?(>=) Küçük eşit mi? (<=) Eşit mi?(==) Eşit değil mi?(<>) Karşılaştırma işleminin sonucu olumlu ise Q çıkışı 1 olur. Blok Girişi: Karşılaştırma komutunun hangi şartlarda çalışması isteniyorsa onunla ilgili mantıksal ifade bu kısma yazılır. CMP==I M0.0 S Blok Çıkışı: Karşılaştırma işleminin olumlu sonuçlanması halinde yapılacak olan işler bu kısma yazılır. IN1 IN2 IN1 ve IN2: Karşılaştırılmak istenilen sayısal değerler bu iki girişe yazılır. Burası uygun bir hafıza alanı yada sabit bir değer olabilir. Geçerli Adresler Blok Girişi(bit):I, Q, M, D, L IN1 : I, Q, M, D, L veya sabit IN2 : I, Q, M, D, L veya sabit Blok Çıkışı(bit) : I, Q, M, L, D 43

Karşılaştırma Komutları Eşit mi?(==) IN1 = IN2 ise Q=1 olur CMP==I M0.0 CMP==DI M0.6 CMP==R M1.4 MW10 IN1 MD12 IN1 MD20 IN1 +12 IN2 MD16 IN2 3.14 IN2 Eşit değil mi?(<>) IN1 IN2 ise Q=1 olur CMP<>I M0.1 CMP<>DI M0.7 CMP<>R M1.5 MW10 IN1 MD12 IN1 MD20 IN1 +12 IN2 MD16 IN2 3.14 IN2 Büyük mü?(>) IN1 > IN2 ise Q=1 olur CMP>I M0.4 CMP>DI M1.2 CMP>R M2.0 MW10 IN1 MD12 IN1 MD20 IN1 +12 IN2 MD16 IN2 3.14 IN2 44

Karşılaştırma Komutları Büyük eşit mi?(>=) IN1 >= IN2 ise Q=1 olur CMP>=I M0.2 CMP>=DI M1.0 CMP>=R M1.6 MW10 IN1 MD12 IN1 MD20 IN1 +12 IN2 MD16 IN2 3.14 IN2 Küçük mü?(<) IN1 < IN2 ise Q=1 olur CMP<I M0.5 CMP<DI M1.3 CMP<R M2.1 MW10 IN1 MD12 IN1 MD20 IN1 +12 IN2 MD16 IN2 3.14 IN2 Küçük Eşit mi?(<=) IN1 <= IN2 ise Q=1 olur CMP<=I M0.3 CMP<=DI M1.1 CMP<=R M1.7 MW10 IN1 MD12 IN1 MD20 IN1 +12 IN2 MD16 IN2 3.14 IN2 45

Karşılaştırma Komutlarının Sayıcılarla Beraber Kullanılması S7 300 ailesine ait olan CPU lardaki sayıcılar S7 200 ailesine ait CPU modellerindeki sayıcılara göre çalışma prensibi olarak farklılık göstermektedirler. S7 200 ailesine ait CPU larda sayıcılar hem sayma işlemini gerçekleştirirken hem de karşılaştırma işlemini gerçekleştirmektedirler. Öyle ki sayıcının değeri PV girişine girilen değere eşit yada büyük ise sayıcının Q çıkışı lojik 1 değerini almaktadır. Fakat S7 300 lerde sayıcı çıkışı sayıcı değerinin sıfırdan farklı olması durumuna bağlıdır. Sayıcının içeriğinin S7 200 lerdeki gibi karşılaştırılması söz konusu değildir. Bu bağlamda sayıcıları karşılaştırma komutları ile beraber kullanmak gerekir. C0 S_CUD CU Q CMP>I CMP<=I CD I0.2 S C#5 PV I0.3 R BI BI_BCD MW10 MW10 8 IN1 IN2 CMP==I Q4.1 MW10 15 IN1 IN2 MW10 IN1 +10 IN2 I0.2 I0.3 Q4.1 46

Soru S0 S1 K0 K1 6 sn. 3 sn. 6 sn. 3 sn. 47

Dönüştürme Komutları BCD < > 16 bitlik Tamsayı(INT) EN girişi 1 olduğunda IN girişindeki BCD formatındaki sayıyı Tam Sayı formatında OUT ta belirtilen adrese yazar. EN BCD_I ENO ENO=1 olur MW10 IN OUT MW20 (IN deki BCD +/- 999 arasında olabilir.) EN girişi 1 olduğunda IN girişindeki Tam Sayı formatındaki sayıyı OUT çıkışında belirtilen adrese BCD Formatında yazar. EN I_BCD ENO ENO=1 olur. MW12 IN OUT MW22 Eğer bir taşma olursa ENO=0 olur. BCD < > 32 bitlik Tamsayı(INT) EN=1 olduğunda IN girişindeki 32 bitlik BCD formatındaki ifadeyi(+/- 9999999) 32 Bitlik Tam Sayıya dönüştürür OUT ta belirtilen adrese yazar. MD10 BCD_DI EN ENO IN OUT MD20 ENO=1 olur. EN=1 olduğunda IN girişindeki 32 bitlik Tam Sayıyı BCD formatına dönüştürür. IN deki Tam Sayı +/- 9999999 aralığının dışına çıktığında taşma olur ve ENO çıkışı 0 olur. MD14 DI_BCD EN ENO IN OUT MD24 Geçerli Adresler EN(bit):I, Q, M, D, L IN : I, Q, M, D, L ENO(bit):I, Q, M, D, L IN : I, Q, M, D, L 48

Dönüştürme Komutları 16 Bitlik Tamsayı(INT) >32 bitlik Tamsayı(INT) EN girişi 1 olduğunda IN girişindeki 16 bitlik tamsayıyı 32 bitlik tamsayıya dönüştürür ve OUT ta belirtilen adrese yazar. ENO=1 olur MW10 EN IN I_DI ENO OUT MD20 Geçerli Adresler EN(bit):I, Q, M, D, L IN(INT) : I, Q, M, D, L ENO(bit):I, Q, M, D, L IN(DINT) : I, Q, M, D, L 32 Bitlik Tamsayı(INT) >32 bitlik Gerçek Sayı(Floating Point) EN girişi 1 olduğunda 32 bitlik tamsayıyı 32 bitlik gerçek sayıya(floating Point) dönüştürür ve OUT ta belirtilen adrese yazar. ENO işlem sonunda 1 olur. MD10 EN IN DI_R ENO OUT MD20 Geçerli Adresler EN(bit):I, Q, M, D, L IN(DINT) : I, Q, M, D, L ENO(bit):I, Q, M, D, L IN(REAL) : I, Q, M, D, L 49

Dönüştürme Komutları 16 bitlik Sayının Bit Düzeyinde Eşleniğini Alma EN girişi 1 olduğunda IN girişindeki 16 bitlik sayı W#16#FFFF sayısıyla lojik XOR işlemine tabii tutulur ve sonucu OUT a yazılır. Ġşlem sonucunda ENO çıkışı 1 olur. EN INV_I ENO Örnek: MW10 IN OUT IN=100(W#16#0064) ise işlem sonucunda OUT=-101(W#16#FF9B) olur. Geçerli Adresler EN(bit):I, Q, M, D, L IN(INT) : I, Q, M, D, L ENO(bit):I, Q, M, D, L IN(DINT) : I, Q, M, D, L 32 bitlik Sayının Bit Düzeyinde Eşleniğini Alma Benzer şekilde EN girişi 1 olduğunda IN girişindeki 32 bitlik sayıyı bu sefer W#16#FFFFFFFF sayısıyla lojik XOR INV_DI EN ENO işlemine tabii tutulur ve sonucu OUT a yazılır. Ġşlem sonucunda ENO çıkışı 1 olur. MD10 IN OUT MD20 Geçerli Adresler EN(bit):I, Q, M, D, L IN(INT) : I, Q, M, D, L ENO(bit):I, Q, M, D, L IN(DINT) : I, Q, M, D, L 50

Dönüştürme Komutları 16 bitlik Sayının Eşleniğini Alma EN girişi 1 olduğunda IN girişindeki 16 bitlik sayının işareti değiştirilir. Sayı pozitif bir sayıysa negatif, negatif bir sayıysa pozitif bir sayıya dönüşür. -1 ile çarpmaya EN NEG_I ENO eşdeğerdir. MW10 IN OUT MW20 Ġşlem sonunda ENO çıkışı 1 olur. Örnek: IN=100(W#16#0064) ise işlem sonucunda OUT=-100(W#16#FF9C) olur. Geçerli Adresler EN(bit):I, Q, M, D, L IN(INT) : I, Q, M, D, L ENO(bit):I, Q, M, D, L IN(INT) : I, Q, M, D, L 32 bitlik Sayının Eşleniğini Alma Benzer şekilde EN girişi 1 olduğunda IN girişindeki 32 bitlik sayının işareti değiştirilir. NEG_DI EN ENO Ġşlem sonunda ENO çıkışı 1 olur. MD12 IN OUT MD22 Geçerli Adresler EN(bit):I, Q, M, D, L IN(DINT) : I, Q, M, D, L ENO(bit):I, Q, M, D, L IN(DINT) : I, Q, M, D, L 51

Dönüştürme Komutları 32 Bitlik Gerçek Sayıyı 32 Bitlik Tamsayıya Dönüştürme 32 bitlik Gerçek Sayıyı 32 bitlik tamsayıya dönüştürmek için S7 300 PLC ailesi 4 farklı tip komutu desteklemektedir ROUND EN girişi 1 olduğunda dönüştürme işlemini bir yuvarlama işlemi olarak yapar ve sonucunu gerçek sayıya en yakın tam sayı olarak seçer. Ġşlem sonunda hata yoksa ENO çıkışı 1 olur. TRUNC EN girişi 1 olduğunda dönüştürme işlemini virgülden sonraki kısmı sıfıra yuvarlayacak şekilde yapar ve sonucu OUT a yazar. Ġşlem MD16 EN IN EN ROUND TRUNC ENO OUT ENO MD20 sonunda hata yoksa ENO çıkışı 1 olur. MD16 IN OUT FLOOR EN girişi 1 olduğunda dönüştürme işlemini gerçek sayıyı yukarı yuvarlayacak şekilde yapar ve sonucu OUT a yazar. Ġşlem sonunda hata yoksa ENO çıkış bitini 1 e çeker. CEIL EN girişi 1 olduğunda dönüştürme işlemini gerçek sayıyı aşağıya yuvarlayacak şekilde yapar ve sonucu OUT a yazar. Ġşlem sonunda bir hata yoksa ENO çıkışını 1 yapar. Geçerli Adresler FLOOR EN ENO MD16 IN OUT CEIL EN ENO MD16 IN OUT MD24 MD28 MD28 EN(bit):I, Q, M, D, L IN(REAL) : I, Q, M, D, L ENO(bit):I, Q, M, D, L IN(DINT) : I, Q, M, D, L 52

Dönüştürme Komutları Uygulama Network 1 Network 2 ROUND EN ENO EN INV_DI ENO MD16 IN OUT MD20 MD20 IN OUT MD36 EN TRUNC ENO EN NEG_DI ENO MD16 IN OUT MD24 MD20 IN OUT MD40 EN FLOOR ENO MD16 IN OUT MD28 CEIL EN ENO MD16 IN OUT MD32 MD20 MD24 MD28 MD32 MD36 MD40 MD16=14.3 14 14 15 14-15 -14 MD16=14.5 14 14 15 14-15 -14 MD16=14.7 15 14 15 14-16 -15 53

Simgesel Adlandırma ve Sembol Tablosu S7 300 PLC lerde kullanılan hafıza alanlarına ister direkt olarak ister simgesel bir isim üzerinden ulaşmak mümkündür. Bunun için Simatic Manager bünyesinde bulunan Symbols Editor programından faydalanılır, oluşturulan proje içerisine S7 Program klasörü altında Symbols dosyasında proje ile ilgili simgesel isimler saklanır. Symbol Table >Export menü komutu ile oluşturulan sembol tablosu aşağıda verilen dosya formatlarında saklanabilir. ASCII format (dosyaismi.asc) NOTEPAD,WORD System Data Format(dosyaismi.SDF) ACCESS Data Interchange Format (dosyaismi.dif) Assignment List(Dosyaismi.SEQ) EXCEL STEP 5 Benzer şekilde yukarıda belirtilen formatlarda oluşturulmuş olan Sembol Tabloları da Symbol Table >Import komutu ile çağırılabilinir. Bu kısma değişken için kullanılacak sembolik isim yazılır. Bu kısımda kullanılacak değişken belirtilir. Değişkenin tipi girilir. Değişken ile ilgili gerekli açıklamaların yapıldığı bölümdür. 54

Simgesel Adlandırma ve Sembol Tablosu LAD, STL, FBD Programming S7 Blocks program yazım editörü üzerine daha önce tanımlanmamış bir değişkene ilişkin sembol atama işlemi, sembol tablosu açılmaksızın çok hızlı bir şekilde yapılabilir. Değişkenin üzerinde iken mouse un sağ tuşu ile yeni bir pencere açılır ve Edit Symbols seçilir. Bu yeni gelen pencere aslında sadece bu değişkenin girilebileceği bir sembol tablosu satırından ibarettir. Burada değişkene verilecek sembolik isim ve değişken tipi belirtildikten sonra OK ile pencere onaylanarak kapatılır. 55

Değişken Tablolarının(VAT) Oluşturulması Değişken Tabloları(VAT), PLC nin istenilen adreslerini gözlemek ve gerektiğinde bu adresler üzerinde izin verilenler ölçüsünde değişiklik yapmaya yarar. Bir değişken tablosu(vat) oluşturmak için proje içerisinde S7 Program klasörü altında Blocks seçili iken mouse un sağ tuşuna basarak açılan yeni pencereden Insert New Object >Variable Table seçilir. PLC den okunan değer bu sütunda belirir. Gözlemlemek istenilen değişken girilir. Değişkenin hangi sayı formatında gözlemlenmek istediği bilgisi girilir. Değişken üzerinde değişiklik yapılmak isteniyorsa yeni değeri bu sütundaki karşılığına yazılır. Tablodaki değişkenler düzenli olarak gözlenir. Değişkenlere istenilen değerleri atar. 1 defalığına gözlem yapar. 56

Uygulama Yandaki şekilde V1 valfinde bulunan Q1 bobini uyarıldığında P1 pistonu 1 konumuna, Q2 bobini uyarıldığında ise 0 konumuna gider V2 valfi üzerinde bulunan Q3 bobini. uyarıldığı süre boyunca ise P2 pistonu 1 konumunda kalır. Enerji kesildiğinde valfteki yayın etkisiyle 0 konumuna geri döner. MY1, MY2, MY3, MY4 kontaklı manyetik(reed) yaklaşım anahtarları P1 ve P2 pistonlarının pozisyonlarını algılamak için kullanılmaktadır. Benzer şekilde OP1 optik yaklaşım anahtarı ise pistonun önüne yerleştirilen parçanın varlığını algılar. MY1 MY2 P1 0 1 1 MY4 P2 MY3 0 V1 Q1 Q2 Q3 P V2 OP1 Çalışma Koşulları: Sistem bir S0 durdurma düğmesine basıldığında devreden çıkacak ve bir S1 başlatma düğmesine basıldığında ise devreye girecektir. Sistem devrede iken şu koşullara göre hareket edecektir. P2 pistonu önüne parça yerleştirildikten sonra piston 1 konumuna gidecektir. P2 pistonu 1 konumuna ulaşınca yani parça P1 pistonu önüne taşınınca P1, 1 konumuna gidecektir. P1 in hareketiyle P2 pistonu 0 konumuna gelecektir. 57

Uygulama Gerekli elektriksel sinyalleri PLC ye almak ve valflere ait bobinleri uyarmak için PLC ye bir adet SM 323 DI8/DO8x24V/0.5A dijital giriş/çıkış kartı bağlanmıştır. Karta ilişkin dış devre bağlantıları aşağıdaki gibidir. Devrede şu elemanlar kullanılmıştır: Durdurma düğmesi olarak bir adet normalde kapalı kumanda düğmesi Başlatma düğmesi olarak bir adet normalde açık kumanda düğmesi Pistonların pozisyonlarını algılamak için 4 adet manyetik(reed) yaklaşım anahtarı Parçayı algılamak için bir adet optik yaklaşım anahtarı L1 N PE W1 AC DC 24 V. DC 1 1L+ 0 1 2 3 4 5 6 7 M 2 3 4 5 6 7 8 9 10 S0 S1 MY1 MY2 MY3 MY4 OP1 1M W2 0 1 2 3 4 5 6 7 Veriyolu Haberleşmesi M 11 2L+ 12 Q1 13 Q2 14 Q3 15 16 17 18 19 20 2M 58

Uygulama PLC ye ait donanım yapısı ve gerekli değişkenlere ilişkin sembol tablosu aşağıdaki gibidir. 59