66
S7 300 TEMEL SEVİYE EĞİTİM NOTLARI HAZIRLAYAN ÖZGÜR TURAY KAYMAKÇI E-mail : [email protected] İ.T.Ü. Elektrik – Elektronik Fak. Kontrol Mühendisliği Bölümü Endüstriyel Otomasyon Laboratuarı

S7300 Temel Seviye son

Embed Size (px)

DESCRIPTION

s7 300

Citation preview

Page 1: S7300 Temel  Seviye son

S7 300 TEMEL SEVİYE

EĞİTİM NOTLARI

HAZIRLAYAN

ÖZGÜR TURAY KAYMAKÇI

E-mail : [email protected]

İ.T.Ü. Elektrik – Elektronik Fak.

Kontrol Mühendisliği Bölümü

Endüstriyel Otomasyon Laboratuarı

Page 2: S7300 Temel  Seviye son

2

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

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ı

•PC-PLC Haberleşmesi

•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)

Page 3: S7300 Temel  Seviye son

3

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

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)

Page 4: S7300 Temel  Seviye son

4

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

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

Page 5: S7300 Temel  Seviye son

5

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

Modüler Yapı

GüçKaynağı

CPU

Haberleşme Modülü

İşaret

Modülleri

Askı

Page 6: S7300 Temel  Seviye son

6

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

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)

Page 7: S7300 Temel  Seviye son

7

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

CPU Yapısı

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.

Çalışma Modu Seçim Anahtarı

Durum LED’leri

MPI Bağlantı Noktası

Hafıza Kartı GirişYuvası

SFBATFDC5VFRCERUNSTOP

RUN-PRUN

STOPM-RES

SIMATICS7-300

PilMPI

Page 8: S7300 Temel  Seviye son

8

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

PC-PLC Haberleşmesinin Sağlanması

CP 5611 Haberleşme Kartı

PCI Yuvasına takılıyor.CP 5511 Haberleşme Kartı

PCMCIA Yuvasına takılıyor.

Simatic S7,PC Adaptör

USB-RS485(MPI) dönüştürücü

MPI Kablo

PC ile PLC arasındaki haberleşmeyi sağlamak için farklı çözümler söz konusudur.

ISA Yuvası üzerinden ( Ör : MPI-ISA Card )

PCI Yuvası üzerinden ( Ör : CP5611 )

PCMCIA Yuvası üzerinden ( Ör : CP5511 )

USB çıkışı üzerinden ( Ör : Simatic S7,PC Adaptör)

Page 9: S7300 Temel  Seviye son

9

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

PC – PLC Haberleşmesinin Sağlanması

PC-PLC bağlantısını sağlayabilmek için bu iki cihaz arasındaki haberleşmeyi sağlayan cihazın ayarları yapılmalıdır. Bu işlem STEP 7 ile beraber gelen PG-PC-Interface programı vasıtasıyla yapılır.

→Start → SIMATIC → STEP 7 → Set PG-PC-Interface

2. Adım

Program çalıştırıldığında karşımıza gelen pencere kullanacağımız arayüzünbelirlendiği penceredir.

1. Adım

Page 10: S7300 Temel  Seviye son

10

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

PC – PLC Haberleşmesinin Sağlanması

3. Adım

Bu pencerede PC-PLC haberleşmesini sağlamaya yönelik geliştirilen arayüzlermevcuttur. Haberleşmenin sağlanacağı arayüz seçilip “Install” a basılır.

4. Adım

Seçilmiş olan haberleşme arayüzü yüklenmiş olarak belirecektir. Bundan sonra “Close” a basılır.

Page 11: S7300 Temel  Seviye son

11

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

PC – PLC Haberleşmesinin Sağlanması

5. Adım

PC ile PLC arasındaki haberleşme protokolü olan MPI’ın özelliklerini belirlemek üzere ilk olarak “PC Adapter(MPI)” seçilir ve arkasından “Properties” e basılır.

Bu sayfada, kullanılan arayüzün PC ile haberleşme için kullandığı fiziksel ortam belirlenir.

6. Adım

Page 12: S7300 Temel  Seviye son

12

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

MPI adress: PC’nin, MPI ağına bağlandığında alacağı adres belirlenir.

Tımeout: MPI ağında bir hata oluştuğunda ağın ne kadar süreyle izleneceğini belirler. Mesela ağda haberleşme yoğunluğundan dolayı cevap paketlerinde bir gecikme olduğunda ayarlanan süre kadar PC cevabın gelmesini bekler.

Alabileceği değerler 10 s., 30 s., ve 100 s.’dir

Transmission Rate: Ağda kullanılacak haberleşme hızı belirlenir.

Alabileceği değerler 1.5 Mbps., 187.5 Kbps., 19.2 Kbps.’dır

Highest Station Adress: Ağa bağlı olan cihazlara verilebilecek en yüksek adres girilir.

Alabileceği değerler 15, 31, 63, 126’dır.

PC – PLC Haberleşmesinin Sağlanması

7. Adım

Page 13: S7300 Temel  Seviye son

13

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

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.

Yeni proje açarPC’ye kaydedilmişprojeyi açar

PC’ye bağlı olan haberleşme arayüzüüzerinden ulaşılabilecek haberleşme noktalarını gösterir.

Page 14: S7300 Temel  Seviye son

14

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

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.

Page 15: S7300 Temel  Seviye son

15

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

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.

Page 16: S7300 Temel  Seviye son

16

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

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.

Page 17: S7300 Temel  Seviye son

17

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

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.

Page 18: S7300 Temel  Seviye son

18

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

STEP 7 Simatic Manager

PS 307 5A

CPU 315-2 DP

DI16xDC24V

DO16XDC24V/0.5A

AI4/AO2

Donanım Yapısını Oluşturma

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ıkseç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.

Page 19: S7300 Temel  Seviye son

19

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

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.

STEP 7 Simatic Manager

Page 20: S7300 Temel  Seviye son

20

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

PLC’nin Çalışma Felsefesi

PII

Zamanlayıcı

Sayıcı

Hafıza Alanı

PIQ

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

Çı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.

Page 21: S7300 Temel  Seviye son

21

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

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.

Page 22: S7300 Temel  Seviye son

22

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

STEP 7’de Yapısal Programlama Elemanları

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.

OB

FC

FC

FB FCFB

SFC

SFB

SFC

FB

FC

DB

Page 23: S7300 Temel  Seviye son

23

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

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.

Page 24: S7300 Temel  Seviye son

24

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

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.

Programın kodunun geliştirildiği ortam

Temel programlama elemanları

PLC’yi programlayabilmek için çağıracağımız tüm komutları içeren katalog

Yeni Network oluşturur.

Geliştirilen kodu PLC’ye yükler.

Gözlemleme(Monitor) işlevini aktif hale getirir.

Sembolik gösterilimi aktif hale getirir.

Page 25: S7300 Temel  Seviye son

25

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

Program Gösterimi

I0.0 &=

Q4.0

Network 1

Network 2

I0.2

I0.3&

I0.1

Q4.1>=

=

Q4.1

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.

Komut Listesi(STL)

I0.0 I0.1

Q4.0

Q4.0

Network 1

Network 2

I0.2 I0.3 Q4.1

Merdiven Diyagramı(LAD)

Fonksiyon Blok Diyagramı(FBD)

Network 1

A I 0.0

A(

O I 0.1

O Q 4.0

)

= Q 4.0

Network 2

A I 0.2

A I 0.3

= Q 4.1

Page 26: S7300 Temel  Seviye son

26

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

Sayı Formatları

Bit

Ör: I0.0, I0.1, Q4.0, 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 Bit1 Integer = 2 Byte

1 Double Integer = 32 Bit1 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)

Page 27: S7300 Temel  Seviye son

27

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

Sayı Formatları

I 3.4

Byte’ın kaçıncı biti olduğu

Ayraç

Byte numarasıAdres Tipi

MB20

LSB0

MSB7

MB20

Hafıza bölgesini belirtir

Hafıza alanını belirtirHafıza formatını belirtir

I 0I 1I 2I 3I 4I 5I 6I 7

MSB LSB0234567 1

Page 28: S7300 Temel  Seviye son

28

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

Sayı Formatları

BCD

Integer =125

İş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.

LSB0

MSB15 7

MB20 MB218

MW20

LSB2324 16 0

MSB31 8

MW20

MB20 MB21 MB22 MB23715

MW22

MD20

Page 29: S7300 Temel  Seviye son

29

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

İ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

Page 30: S7300 Temel  Seviye son

30

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

İkili Mantıksal İşlemler

Normalde Açık Kontak

Normalde Kapalı Kontak

Pasifken PLC’deki gösterim

Aktifken

VE Kapısı

111

001

010

000

QBA

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.

111

101

110

000

QBA

VEYA Kapısı

01

10

QA

DEĞİL Kapısı

Page 31: S7300 Temel  Seviye son

31

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

İkili Mantıksal İşlemler

Temel mantıksal işlemler bit düzeyinde şu adres alanları için geçerlidir.

I0.0 &

I0.1 >=

M0.1

>=I0.2

M0.0

&

=

Q4.1

FBD

STL

A(

AN I 0.0

AN I 0.1

O M 0.1

)

A(

ON I 0.2

O M 0.0

)

= Q 4.1

LAD

Q4.1I0.0

M0.1

I0.1 I0.2

M0.0

Mantıksal Fonksiyon

Q4.1 = [ ( I0.0 * I0.1 ) + M0.1 ] * [ I0.2 * M0.0 ]

I, Q, M, L, D, T, C

Problem

Q4.2 = M1.0 + [ I0.0 * I0.1 * ( I0.2 + Q4.2 )]

Q4.3 = [ ( I0.0 + I0.1 ) * I0.3 * I0.4 ] + I0.2

Page 32: S7300 Temel  Seviye son

32

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

İkili Mantıksal İşlemler

Kurma-Silme(SET-RESET) İşlemleri

LAD FBD

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

Page 33: S7300 Temel  Seviye son

33

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

İ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.

LAD FBD

Network 1

I0.0 Q4.0M0.0

I0.1

S

R

QSR

Network 2

I0.1 Q4.1M0.1

I0.0

R

S

QRS

I0.1

SR

M0.0

Network 1

Network 2

RS

M0.1

=

Q4.0

=

Q4.1

I0.0

I0.0

I0.1

S

R

R

S

I, Q, M, L, D

Geçerli Giriş Adresleri(Bit)

I, Q, M, L, D

Geçerli Çıkış Adresleri(Bit)

Page 34: S7300 Temel  Seviye son

34

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

İ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

I, Q, M, L, D

Geçerli Giriş Adresleri(Bit)

LAD FBD

Page 35: S7300 Temel  Seviye son

35

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

İkili Mantıksal İşlemler

2. İşaret Kenar Değerlendirmesi

I, Q, M, L, D

Geçerli Giriş Adresleri(Bit)

I0.0

Q4.0

Q4.1

Zaman Diyagramı

1 tarama süresi

1 tarama süresi

LAD FBD

Page 36: S7300 Temel  Seviye son

36

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

İ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.

I, Q, M, *L, D

Geçerli Giriş Adresleri(Bit)

* 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.

LAD

FBD

Page 37: S7300 Temel  Seviye son

37

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

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

Page 38: S7300 Temel  Seviye son

38

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

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. 0111213

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.

1

1

0

0

13. bit

10 s.1

1 s.0

0.1 s.1

0.01 s.0

Zaman Çarpanı

12. bit

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

Page 39: S7300 Temel  Seviye son

39

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

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.

LAD FBD

Geçerli Adresler

S(bit) : I, Q, M, D, L, T, CTV : I, Q, M, D, L veya sabitR(bit): I, Q, M, D, L, T, C

Q(bit) : I, Q, M, L, DBI(Int) : I, Q, M, D, LBI_BCD(Int) : I, Q, M, D, L

Page 40: S7300 Temel  Seviye son

40

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

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, CTV : I, Q, M, D, L veya sabitR(bit): I, Q, M, D, L, T, C

Q(bit) : I, Q, M, L, DBI(Int) : I, Q, M, D, LBI_BCD(Int) : I, Q, M, D, L

Q4.0

I0.0

I0.1

T0

LAD FBD

Page 41: S7300 Temel  Seviye son

41

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

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, CTV : I, Q, M, D, L veya sabitR(bit): I, Q, M, D, L, T, C

Q(bit) : I, Q, M, L, DBI(Int) : I, Q, M, D, LBI_BCD(Int) : I, Q, M, D, L

LAD FBD

I0.0

I0.1

T0

Q4.0

Page 42: S7300 Temel  Seviye son

42

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

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, CTV : I, Q, M, D, L veya sabitR(bit): I, Q, M, D, L, T, C

Q(bit) : I, Q, M, L, DBI(Int) : I, Q, M, D, LBI_BCD(Int) : I, Q, M, D, L

I0.0

I0.1

T0

Q4.0

LAD FBD

Page 43: S7300 Temel  Seviye son

43

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

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, CTV : I, Q, M, D, L veya sabitR(bit): I, Q, M, D, L, T, C

Q(bit) : I, Q, M, L, DBI(Int) : I, Q, M, D, LBI_BCD(Int) : I, Q, M, D, L

T0

Q4.0

I0.0

I0.1

LAD FBD

Page 44: S7300 Temel  Seviye son

44

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

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

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.

01112100 0 0 0 0 1 1110

2 1 7

Page 45: S7300 Temel  Seviye son

45

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

Sayma İşlemleri

İleri Sayıcı(CU)

LAD

FBD

İ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, LS(bit) : I, Q, M, D, LPV : I, Q, M, D, L veya sabitR(bit): I, Q, M, D, L

Q(bit) : I, Q, M, L, DBI(Int) : I, Q, M, D, LBI_BCD(Int) : I, Q, M, D, L

Page 46: S7300 Temel  Seviye son

46

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

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, LS(bit) : I, Q, M, D, LPV : I, Q, M, D, L veya sabitR(bit): I, Q, M, D, L

Q(bit) : I, Q, M, L, DBI(Int) : I, Q, M, D, LBI_BCD(Int) : I, Q, M, D, L

S_CD

Q

CV_BCD

BI

C0

C#5

I0.0

I0.2=

Q4.0

I0.1

CD

S

PV

R

MW10

MW12

Page 47: S7300 Temel  Seviye son

47

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

Sayma İşlemleri

İleri-Geri Sayıcı(CUD)

I0.0

I0.1

I0.2

I0.3

01234567

Q4.0

İ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, LS(bit) : I, Q, M, D, LPV : I, Q, M, D, L veya sabitR(bit): I, Q, M, D, L

Q(bit) : I, Q, M, L, DBI(Int) : I, Q, M, D, LBI_BCD(Int) : I, Q, M, D, L

Page 48: S7300 Temel  Seviye son

48

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

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.

Blok Çıkışı: Karşılaştırma işleminin olumlu sonuçlanması halinde yapılacak olan işler bu kısma yazılır.

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, LIN1 : I, Q, M, D, L veya sabitIN2 : I, Q, M, D, L veya sabit

Blok Çıkışı(bit) : I, Q, M, L, D

Page 49: S7300 Temel  Seviye son

49

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

Karşılaştırma Komutları

Eşit mi?(==)

IN1 = IN2 ise Q=1 olur

Eşit değil mi?(<>)

IN1 ≠ IN2 ise Q=1 olur

Büyük mü?(>)

IN1 > IN2 ise Q=1 olur

Page 50: S7300 Temel  Seviye son

50

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

Karşılaştırma Komutları

Büyük eşit mi?(>=)

IN1 >= IN2 ise Q=1 olur

Küçük mü?(<)

IN1 < IN2 ise Q=1 olur

Küçük Eşit mi?(<=)

IN1 <= IN2 ise Q=1 olur

Page 51: S7300 Temel  Seviye son

51

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

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.

S_CUDCU

S

PV

Q

BI_BCD

BI

C0

I0.2

C#5

I0.0

R

MW10

I0.3

CDI0.1IN1

IN2

CMP<=I

MW10

15

IN1

IN2

CMP>I

MW10

8

IN1

IN2

CMP==I Q4.1

MW10

+10

Q4.0

Page 52: S7300 Temel  Seviye son

52

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

Soru

Page 53: S7300 Temel  Seviye son

53

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

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ındaOUT’ta belirtilen adrese yazar.

ENO=1 olur

(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.

ENO=1 olur.

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’tabelirtilen adrese yazar.

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.

Geçerli Adresler

EN(bit):I, Q, M, D, LIN : I, Q, M, D, L

ENO(bit):I, Q, M, D, LIN : I, Q, M, D, L

Page 54: S7300 Temel  Seviye son

54

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

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

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.

32 Bitlik Tamsayı(INT) ─>32 bitlik Gerçek Sayı(FloatingPoint)

Geçerli Adresler

EN(bit):I, Q, M, D, LIN(INT) : I, Q, M, D, L

ENO(bit):I, Q, M, D, LIN(DINT) : I, Q, M, D, L

Geçerli Adresler

EN(bit):I, Q, M, D, LIN(DINT) : I, Q, M, D, L

ENO(bit):I, Q, M, D, LIN(REAL) : I, Q, M, D, L

Page 55: S7300 Temel  Seviye son

55

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

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’ayazılır. İşlem sonucunda ENO çıkışı 1 olur.

Örnek:

IN=100(W#16#0064) ise işlem sonucunda

OUT=-101(W#16#FF9B) olur.

32 bitlik Sayının Bit Düzeyinde Eşleniğini Alma

Benzer şekilde EN girişi 1 olduğunda INgirişindeki 32 bitlik sayıyı bu sefer W#16#FFFFFFFF sayısıyla lojik XOR işlemine tabii tutulur ve sonucu OUT’ayazılır. İşlem sonucunda ENO çıkışı 1 olur.

Geçerli Adresler

EN(bit):I, Q, M, D, LIN(INT) : I, Q, M, D, L

ENO(bit):I, Q, M, D, LIN(DINT) : I, Q, M, D, L

Geçerli Adresler

EN(bit):I, Q, M, D, LIN(INT) : I, Q, M, D, L

ENO(bit):I, Q, M, D, LIN(DINT) : I, Q, M, D, L

Page 56: S7300 Temel  Seviye son

56

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

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 eşdeğerdir.

İş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, LIN(INT) : I, Q, M, D, L

ENO(bit):I, Q, M, D, LIN(INT) : I, Q, M, D, L

32 bitlik Sayının Eşleniğini Alma

Benzer şekilde EN girişi 1 olduğunda INgirişindeki 32 bitlik sayının işareti değiştirilir.

İşlem sonunda ENO çıkışı 1 olur.

Geçerli Adresler

EN(bit):I, Q, M, D, LIN(DINT) : I, Q, M, D, L

ENO(bit):I, Q, M, D, LIN(DINT) : I, Q, M, D, L

Page 57: S7300 Temel  Seviye son

57

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

Dönüştürme Komutları

32 Bitlik Gerçek Sayıyı 32 Bitlik Tamsayıya Dönüştürme

ROUND

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

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.

TRUNCEN 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 sonunda hata yoksa ENOçıkışı 1 olur.

FLOOREN 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.

CEILEN 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

EN(bit):I, Q, M, D, LIN(REAL) : I, Q, M, D, L

ENO(bit):I, Q, M, D, LIN(DINT) : I, Q, M, D, L

Page 58: S7300 Temel  Seviye son

58

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

Dönüştürme Komutları

Uygulama

IN OUT

ROUNDI0.0

MD16

EN ENO

MD20

IN OUT

TRUNC

MD16

EN ENO

MD24

IN OUT

FLOOR

MD16

EN ENO

MD28

IN OUT

CEIL

MD16

EN ENO

MD32

Network 1

-14-1514151414MD16=14.3

14

14

MD32

-15-16151415MD16=14.7

-14-15151414MD16=14.5

MD40MD36MD28MD24MD20

Page 59: S7300 Temel  Seviye son

59

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

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) System Data Format(dosyaismi.SDF)

NOTEPAD,WORD 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.

Page 60: S7300 Temel  Seviye son

60

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

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 “EditSymbols…” 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.

Page 61: S7300 Temel  Seviye son

61

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

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.

Gözlemlemek istenilen değişken girilir.

Değişkenin hangi sayı formatında gözlemlenmek istediği bilgisi girilir.

PLC’den okunan değer bu sütunda belirir.

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.

Page 62: S7300 Temel  Seviye son

62

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

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.

P

Q1 Q2 Q3

P1

P2

MY1 MY2

MY3

MY4

OP1

V1 V2

0 1

0

1

Ç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.

Page 63: S7300 Temel  Seviye son

63

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

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ı

0

1

2

3

4

5

6

7

0

1

2

3

4

5

6

7

1

2

3

4

5

6

7

8

9

10

11

1L+

1M

12

13

14

15

16

17

18

19

20 2M

2L+

MY1

MY2

MY3

MY4

OP1

S0

S1

VeriyoluHaberleşmesi

M

M

Q1

Q2

Q3

AC

DC

L1

N

PE

24 V.DC

W1

W2

Page 64: S7300 Temel  Seviye son

64

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

Uygulama

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

Page 65: S7300 Temel  Seviye son

65

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

Uygulama

Page 66: S7300 Temel  Seviye son

66

S7 300 Temel Seviye Eğitim Notları

Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab.

[email protected]

EĞİTİMİMİZE GÖSTERMİŞOLDUĞUNUZ İLGİ İÇİN TEŞEKKÜRLER

S7 300 İLERİ SEVİYEDE GÖRÜŞMEK DİLEĞİYLE…