You are on page 1of 66

S7 300 TEMEL SEVİYE

EĞİTİM NOTLARI

HAZIRLAYAN

ÖZGÜR TURAY KAYMAKÇI

E-mail : kaymakcio@itu.edu.tr

İ.T.Ü. Elektrik – Elektronik Fak.

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

Endüstriyel Otomasyon Laboratuarı


S7 300 – Temel Seviye
S7 300 Temel Seviye
Eğitim Notları

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)

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

kaymakcio@itu.edu.tr
S7 300 – Temel Seviye
S7 300 Temel Seviye
Eğitim Notları

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

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

kaymakcio@itu.edu.tr
S7 300
S7 300 Temel Seviye
Eğitim Notları

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

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

kaymakcio@itu.edu.tr
Modüler Yapı
S7 300 Temel Seviye
Eğitim Notları

Güç
Kaynağı
Haberleşme Askı
Modülü
CPU İşaret
Modülleri

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

kaymakcio@itu.edu.tr
Modüler Yapı
S7 300 Temel Seviye
Eğitim Notları

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

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

kaymakcio@itu.edu.tr
CPU Yapısı
S7 300 Temel Seviye
Eğitim Notları

SF
BATF
Durum LED’leri
DC5V
FRCE
RUN
STOP Hafıza Kartı Giriş
RUN-P
RUN
Yuvası

STOP Çalışma Modu Seçim


M-RES
Anahtarı
SIMATIC
S7-300
MPI Bağlantı Noktası
Pil
MPI

SF: Grup Hatası, CPU’da yada


MRES :Hafıza Reset
modüllerde bir hata var
STOP :Durma Modu
BATF: Pil hatası,pilin gerilim seviyesi
RUN :Çalışma Modu,bilgisayar düşük yada pil yok
tarafından sadece okuma anlamında
DC5V:5 Volt DC sinyali
ulaşım mümkün.
FRCE :Bir yada daha fazla giriş yada
RUN-P :Çalışma modu, bilgisayar
çıkış zorlanıyor
tarafından hem okuma hem de
yazma anlamında erişme mümkün. 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.

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

kaymakcio@itu.edu.tr
PC-PLC Haberleşmesinin Sağlanması
S7 300 Temel Seviye
Eğitim Notları

CP 5611 Haberleşme Kartı


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

MPI Kablo

Simatic S7,PC Adaptör


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

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)

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

kaymakcio@itu.edu.tr
PC – PLC Haberleşmesinin Sağlanması
S7 300 Temel Seviye
Eğitim Notları

1. Adım

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ün


belirlendiği penceredir.

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

kaymakcio@itu.edu.tr
PC – PLC Haberleşmesinin Sağlanması
S7 300 Temel Seviye
Eğitim Notları

3. Adım

Bu pencerede PC-PLC haberleşmesini sağlamaya yönelik geliştirilen arayüzler


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

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

kaymakcio@itu.edu.tr
PC – PLC Haberleşmesinin Sağlanması
S7 300 Temel Seviye
Eğitim Notları

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.

6. Adım

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

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

kaymakcio@itu.edu.tr
PC – PLC Haberleşmesinin Sağlanması
S7 300 Temel Seviye
Eğitim Notları

7. Adım

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.


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

kaymakcio@itu.edu.tr
STEP 7 Simatic Manager
S7 300 Temel Seviye
Eğitim Notları

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

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

kaymakcio@itu.edu.tr
STEP 7 Simatic Manager
S7 300 Temel Seviye
Eğitim Notları

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.

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

kaymakcio@itu.edu.tr
STEP 7 Simatic Manager
S7 300 Temel Seviye
Eğitim Notları

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.

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

kaymakcio@itu.edu.tr
STEP 7 Simatic Manager
S7 300 Temel Seviye
Eğitim Notları

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

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

kaymakcio@itu.edu.tr
STEP 7 Simatic Manager
S7 300 Temel Seviye
Eğitim Notları

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.

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

kaymakcio@itu.edu.tr
STEP 7 Simatic Manager
S7 300 Temel Seviye
Eğitim Notları

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

PS 307 5A
CPU 315-2 DP
DI16xDC24V
DO16XDC24V/0.5A
AI4/AO2

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.

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

kaymakcio@itu.edu.tr
STEP 7 Simatic Manager
S7 300 Temel Seviye
Eğitim Notları

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.

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

kaymakcio@itu.edu.tr
PLC’nin Çalışma Felsefesi
S7 300 Temel Seviye
Eğitim Notları

Giriş Görüntü
Belleği(PII)’deki
değerleri yeniler.
PLC’nin hafızasındaki PII
program parçası
Sayıcı
Satır
1. Satır Hafıza Alanı
2. Satır
PIQ
.
n. Satır 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.
Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab. 20

kaymakcio@itu.edu.tr
Programlama Teknikleri
S7 300 Temel Seviye
Eğitim Notları

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.

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

kaymakcio@itu.edu.tr
STEP 7’de Yapısal Programlama Elemanları
S7 300 Temel Seviye
Eğitim Notları

DB

SFC
FC FB
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.

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

kaymakcio@itu.edu.tr
Program Bloklarını Oluşturma
S7 300 Temel Seviye
Eğitim Notları

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.

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

kaymakcio@itu.edu.tr
Programın Yazılması
S7 300 Temel Seviye
Eğitim Notları

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 PLC’yi programlayabilmek


geliştirildiği ortam için çağıracağımız tüm
komutları içeren katalog
Geliştirilen kodu PLC’ye yükler.
Sembolik gösterilimi aktif hale getirir.
Gözlemleme(Monitor) işlevini aktif hale getirir.

Yeni Network oluşturur.

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

kaymakcio@itu.edu.tr
Program Gösterimi
S7 300 Temel Seviye
Eğitim Notları

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 1
I0.0 I0.1 Q4.0
A I 0.0
Q4.0 A(
O I 0.1
Network 2 O Q 4.0
I0.2 I0.3 Q4.1 )
= Q 4.0
Network 2
Merdiven Diyagramı(LAD) A I 0.2
Network 1
A I 0.3
I0.1 >= I0.0 & Q4.0
Q4.1 = = Q 4.1

Komut Listesi(STL)
Network 2
I0.2 & Q4.1
I0.3 =

Fonksiyon Blok Diyagramı(FBD)

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

kaymakcio@itu.edu.tr
Sayı Formatları
S7 300 Temel Seviye
Eğitim Notları

Bit 1 Byte = 8 Bit


Ör: I0.0, I0.1, Q4.0, MW5.9
1 Integer = 16 Bit
Byte(B)
1 Integer = 2 Byte
Ör: MB9, IB3, QB4
Interger(I) 1 Double Integer = 32 Bit
Ör: MW10, MW12, IW0 1 Double Integer = 4 Byte

Double Integer(DI)
Ör: MD10, MD14, IW0
Floating Point
Ör: MD10, MD14

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

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

kaymakcio@itu.edu.tr
Sayı Formatları
S7 300 Temel Seviye
Eğitim Notları

MSB LSB
7 6 5 4 3 2 1 0
I 0 I 3.4
I 1
I 2
I 3 Byte’ın kaçıncı biti olduğu
I 4 Ayraç
I 5 Byte numarası
I 6 Adres Tipi
I 7

MSB LSB
7 0
MB20

MB20

Hafıza bölgesini belirtir


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

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

kaymakcio@itu.edu.tr
Sayı Formatları
S7 300 Temel Seviye
Eğitim Notları

Integer =125

BCD

İşaret 1 2 5

0000 +
1111 -

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 LSB
15 8 7 0
MB20 MB21

MW20

MSB LSB
31 24 23 16 15 8 7 0
MB20 MB21 MB22 MB23

MW20 MW22
MD20

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

kaymakcio@itu.edu.tr
İkili Mantıksal İşlemler
S7 300 Temel Seviye
Eğitim Notları

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

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

kaymakcio@itu.edu.tr
İkili Mantıksal İşlemler
S7 300 Temel Seviye
Eğitim Notları

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ı VEYA Kapısı DEĞİL Kapısı


A B Q A B Q A Q
0 0 0 0 0 0 0 1
0 1 0 0 1 1 1 0
1 0 0 1 0 1
1 1 1 1 1 1

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

kaymakcio@itu.edu.tr
İkili Mantıksal İşlemler
S7 300 Temel Seviye
Eğitim Notları

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 = [ ( I0.0 * I0.1 ) + M0.1 ] * [ I0.2 * M0.0 ]

LAD STL

I0.0 I0.1 I0.2 Q4.1


A(
M0.1 M0.0 AN I 0.0
AN I 0.1
O M 0.1
)
FBD
A(
I0.0 & ON I 0.2
I0.1 >=
O M 0.0

M0.1 &
)
= Q 4.1
I0.2 >=

M0.0 Q4.1
=

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

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

kaymakcio@itu.edu.tr
İkili Mantıksal İşlemler
S7 300 Temel Seviye
Eğitim Notları

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

LAD FBD

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

kaymakcio@itu.edu.tr
İkili Mantıksal İşlemler
S7 300 Temel Seviye
Eğitim Notları

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 Network 1
I0.0 SR Q4.0 M0.0
S Q
I0.0 S SR Q4.0
I0.1
I0.1 R
=
R

Network 2 Network 2
M0.1
I0.1 Q4.1 M0.1
RS
R Q I0.1 R RS Q4.1
=
I0.0 I0.0 S
S

LAD FBD

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

kaymakcio@itu.edu.tr
İkili Mantıksal İşlemler
S7 300 Temel Seviye
Eğitim Notları

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

LAD FBD

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

kaymakcio@itu.edu.tr
İkili Mantıksal İşlemler
S7 300 Temel Seviye
Eğitim Notları

2. İşaret Kenar Değerlendirmesi

Geçerli Giriş Adresleri(Bit)

I, Q, M, L, D

LAD FBD

Zaman Diyagramı

I0.0
1 tarama süresi

Q4.0
1 tarama süresi

Q4.1

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

kaymakcio@itu.edu.tr
İkili Mantıksal İşlemler
S7 300 Temel Seviye
Eğitim Notları

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.

LAD

FBD

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

kaymakcio@itu.edu.tr
Zamanlama İşlemleri
S7 300 Temel Seviye
Eğitim Notları

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

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

kaymakcio@itu.edu.tr
Zamanlama İşlemleri
S7 300 Temel Seviye
Eğitim Notları

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

13. 12. Zaman


bit bit Çarpanı
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 0 0 0.01 s.
13 no.lu bitlere ise Zaman Çarpanı(Zaman Tabanı) yazılır. 0 1 0.1 s.
14 ve 15 no.lu bitler ise kullanılmamaktadır. 1 0 1 s.
Buna göre zamanlayıcılar ile 10 ms.’den 2 saat 46 dakika 1 1 10 s.
ve 30 saniyeye kadar bir süre için gecikme yaratılabilir.

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

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

kaymakcio@itu.edu.tr
Zamanlama İşlemleri
S7 300 Temel Seviye
Eğitim Notları

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 Q(bit) : I, Q, M, L, D
TV : I, Q, M, D, L veya sabit BI(Int) : I, Q, M, D, L
R(bit): I, Q, M, D, L, T, C BI_BCD(Int) : I, Q, M, D, L

LAD FBD

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

kaymakcio@itu.edu.tr
Zamanlama İşlemleri
S7 300 Temel Seviye
Eğitim Notları

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 Q(bit) : I, Q, M, L, D
TV : I, Q, M, D, L veya sabit BI(Int) : I, Q, M, D, L
R(bit): I, Q, M, D, L, T, C BI_BCD(Int) : I, Q, M, D, L

LAD FBD

I0.0

I0.1

T0

Q4.0

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

kaymakcio@itu.edu.tr
Zamanlama İşlemleri
S7 300 Temel Seviye
Eğitim Notları

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 Q(bit) : I, Q, M, L, D
TV : I, Q, M, D, L veya sabit BI(Int) : I, Q, M, D, L
R(bit): I, Q, M, D, L, T, C BI_BCD(Int) : I, Q, M, D, L

LAD FBD

I0.0

I0.1

T0

Q4.0

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

kaymakcio@itu.edu.tr
Zamanlama İşlemleri
S7 300 Temel Seviye
Eğitim Notları

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 Q(bit) : I, Q, M, L, D
TV : I, Q, M, D, L veya sabit BI(Int) : I, Q, M, D, L
R(bit): I, Q, M, D, L, T, C BI_BCD(Int) : I, Q, M, D, L

LAD FBD

I0.0

I0.1

T0

Q4.0

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

kaymakcio@itu.edu.tr
Zamanlama İşlemleri
S7 300 Temel Seviye
Eğitim Notları

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 Q(bit) : I, Q, M, L, D
TV : I, Q, M, D, L veya sabit BI(Int) : I, Q, M, D, L
R(bit): I, Q, M, D, L, T, C BI_BCD(Int) : I, Q, M, D, L

LAD FBD

I0.0

I0.1

T0

Q4.0

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

kaymakcio@itu.edu.tr
Sayma İşlemleri
S7 300 Temel Seviye
Eğitim Notları

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.

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

kaymakcio@itu.edu.tr
Sayma İşlemleri
S7 300 Temel Seviye
Eğitim Notları

İ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 Q(bit) : I, Q, M, L, D
S(bit) : I, Q, M, D, L BI(Int) : I, Q, M, D, L
PV : I, Q, M, D, L veya sabit BI_BCD(Int) : I, Q, M, D, L
R(bit): I, Q, M, D, L

LAD

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

kaymakcio@itu.edu.tr
Sayma İşlemleri
S7 300 Temel Seviye
Eğitim Notları

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 Q(bit) : I, Q, M, L, D
S(bit) : I, Q, M, D, L BI(Int) : I, Q, M, D, L
PV : I, Q, M, D, L veya sabit BI_BCD(Int) : I, Q, M, D, L
R(bit): I, Q, M, D, L

C0
S_CD
I0.0 CD
I0.1 S BI MW10

C#5 PV CV_BCD MW12 Q4.0


=
I0.2 R Q

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

kaymakcio@itu.edu.tr
Sayma İşlemleri
S7 300 Temel Seviye
Eğitim Notları

İ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 Q(bit) : I, Q, M, L, D
S(bit) : I, Q, M, D, L BI(Int) : I, Q, M, D, L
PV : I, Q, M, D, L veya sabit BI_BCD(Int) : I, Q, M, D, L
R(bit): I, Q, M, D, L

I0.0

I0.1

I0.2

I0.3
7
6
5
4
3
2
1
0

Q4.0

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

kaymakcio@itu.edu.tr
Karşılaştırma Komutları
S7 300 Temel Seviye
Eğitim Notları

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
Blok Çıkışı: Karşılaştırma
komutunun hangi şartlarda
işleminin olumlu
çalışması isteniyorsa onunla
sonuçlanması halinde
ilgili mantıksal ifade bu kısma
yapılacak olan işler bu
yazılır.
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, L Blok Çıkışı(bit) : I, Q, M, L, D


IN1 : I, Q, M, D, L veya sabit
IN2 : I, Q, M, D, L veya sabit

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

kaymakcio@itu.edu.tr
Karşılaştırma Komutları
S7 300 Temel Seviye
Eğitim Notları

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

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

kaymakcio@itu.edu.tr
Karşılaştırma Komutları
S7 300 Temel Seviye
Eğitim Notları

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

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

kaymakcio@itu.edu.tr
Karşılaştırma Komutlarının Sayıcılarla Beraber
Kullanılması S7 300 Temel Seviye
Eğitim Notları

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
I0.0 S_CUD
CU Q CMP>I CMP<=I Q4.0

I0.1 CD BI MW10
MW10 IN1 MW10 IN1
I0.2 S BI_BCD
8 IN2 15 IN2
C#5 PV
CMP==I Q4.1
I0.3 R

MW10 IN1

+10 IN2

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

kaymakcio@itu.edu.tr
Soru
S7 300 Temel Seviye
Eğitim Notları

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

kaymakcio@itu.edu.tr
Dönüştürme Komutları
S7 300 Temel Seviye
Eğitim Notları

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.

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’ta
belirtilen 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, L ENO(bit):I, Q, M, D, L
IN : I, Q, M, D, L IN : I, Q, M, D, L

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

kaymakcio@itu.edu.tr
Dönüştürme Komutları
S7 300 Temel Seviye
Eğitim Notları

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

Geçerli Adresler

EN(bit):I, Q, M, D, L ENO(bit):I, Q, M, D, L
IN(INT) : 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.

Geçerli Adresler

EN(bit):I, Q, M, D, L ENO(bit):I, Q, M, D, L
IN(DINT) : I, Q, M, D, L IN(REAL) : I, Q, M, D, L

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

kaymakcio@itu.edu.tr
Dönüştürme Komutları
S7 300 Temel Seviye
Eğitim Notları

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.

Örnek:

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 ENO(bit):I, Q, M, D, L
IN(INT) : 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
işlemine tabii tutulur ve sonucu OUT’a
yazılır. İşlem sonucunda ENO çıkışı 1 olur.

Geçerli Adresler

EN(bit):I, Q, M, D, L ENO(bit):I, Q, M, D, L
IN(INT) : I, Q, M, D, L IN(DINT) : I, Q, M, D, L

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

kaymakcio@itu.edu.tr
Dönüştürme Komutları
S7 300 Temel Seviye
Eğitim Notları

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, L ENO(bit):I, Q, M, D, L
IN(INT) : 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.

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

Geçerli Adresler

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

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

kaymakcio@itu.edu.tr
Dönüştürme Komutları
S7 300 Temel Seviye
Eğitim Notları

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

EN(bit):I, Q, M, D, L ENO(bit):I, Q, M, D, L
IN(REAL) : I, Q, M, D, L IN(DINT) : I, Q, M, D, L

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

kaymakcio@itu.edu.tr
Dönüştürme Komutları
S7 300 Temel Seviye
Eğitim Notları

Uygulama
Network 1
ROUND
I0.0
EN ENO

MD16 IN OUT MD20

TRUNC
EN ENO

MD16 IN OUT MD24

FLOOR
EN 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

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

kaymakcio@itu.edu.tr
Simgesel Adlandırma ve Sembol Tablosu
S7 300 Temel Seviye
Eğitim Notları

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şken ile ilgili gerekli


Değişkenin tipi girilir. açıklamaların yapıldığı
bölümdür.
Özgür KAYMAKÇI - İ.T.Ü. Endüstriyel Otomasyon Lab. 59

kaymakcio@itu.edu.tr
Simgesel Adlandırma ve Sembol Tablosu
S7 300 Temel Seviye
Eğitim Notları

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

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

kaymakcio@itu.edu.tr
Değişken Tablolarının(VAT) Oluşturulması
S7 300 Temel Seviye
Eğitim Notları

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 Değişkenin hangi Değişken üzerinde değişiklik


istenilen sayı formatında yapılmak isteniyorsa yeni
değişken girilir. gözlemlenmek değeri bu sütundaki karşılığına
istediği bilgisi girilir. 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.

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

kaymakcio@itu.edu.tr
Uygulama
S7 300 Temel Seviye
Eğitim Notları

MY1 MY2
Yandaki şekilde V1 valfinde bulunan Q1
bobini uyarıldığında P1 pistonu 1
P1
konumuna, Q2 bobini uyarıldığında ise 0
konumuna gider 0 1

V2 valfi üzerinde bulunan Q3 bobini.


uyarıldığı süre boyunca ise P2 pistonu 1
konumunda kalır. Enerji kesildiğinde OP1
valfteki yayın etkisiyle 0 konumuna geri
döner.
1
MY1, MY2, MY3, MY4 kontaklı MY4
manyetik(reed) yaklaşım anahtarları P1 P2
ve P2 pistonlarının pozisyonlarını MY3
algılamak için kullanılmaktadır. 0
V1 V2
Benzer şekilde OP1 optik yaklaşım Q1 Q2 Q3

anahtarı ise pistonun önüne yerleştirilen


parçanın varlığını algılar.
P

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

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

kaymakcio@itu.edu.tr
Uygulama
S7 300 Temel Seviye
Eğitim Notları

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ı


L1

•Parçayı algılamak için bir adet optik yaklaşım anahtarı N


PE

W1

AC 24 V.
DC
DC

1 1L+
2 S0
0
3 S1
1
4 MY1
2 M
5 MY2
3
6 MY3
4
7 MY4
5
8 OP1
6
9
7
10 1M

W2

11 2L+
12 Q1
0
13 Q2
1
M
14 Q3
2
15
3
16
4
Veriyolu
17
5 Haberleşmesi

18
6
19
7
20 2M

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

kaymakcio@itu.edu.tr
Uygulama
S7 300 Temel Seviye
Eğitim Notları

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

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

kaymakcio@itu.edu.tr
Uygulama
S7 300 Temel Seviye
Eğitim Notları

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

kaymakcio@itu.edu.tr
S7 300 Temel Seviye
Eğitim Notları

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…

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

kaymakcio@itu.edu.tr