PROGRAMLAMA METODLARI



Benzer belgeler
BÖLÜM 9. Sayıcılar, S7 200 CPU serilerinde C ile gösterilir. Sayıcılar, S7 200 CPU serilerinde: Yukarı sayıcı (Counter up CTU ),

PROGRAMLANAB L R DENETLEY C LER DERS 07

ELITE A.G. KS100/HEFM SICAK-SOĞUK ETĐKET BOY KESME VE ĐŞARETLEME MAKĐNASI KULLANIM KILAVUZU

BÖL-1B. Fatih University- Faculty of Engineering- Electric and Electronic Dept.

B02.8 Bölüm Değerlendirmeleri ve Özet

BÖLÜM 9. Say c lar, S7 200 CPU serilerinde C ile gösterilir.

T.C. ERCİYES ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ MEKATRONİK MÜHENDİSLİĞİ BÖLÜMÜ MEKATRONİK LABORATUVARI 1. BASINÇ, AKIŞ ve SEVİYE KONTROL DENEYLERİ

5. ÜNİTE KUMANDA DEVRE ŞEMALARI ÇİZİMİ

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİLGİSAYAR SİSTEMLERİ LABORATUARI YÜZEY DOLDURMA TEKNİKLERİ

01 OCAK 2015 ELEKTRİK AKIMI VE LAMBA PARLAKLIĞI SALİH MERT İLİ DENİZLİ ANADOLU LİSESİ 10/A 436

BQ360 Modbus Dijital Giriş 24 Kanal. Kullanım Kılavuzu. Doküman Versiyon: BQTEK

OPERATÖRLER BÖLÜM Giriş Aritmetik Operatörler

II. Bölüm HİDROLİK SİSTEMLERİN TANITIMI

ELEZ101 Ölçme Tekniği Sunu No: 01. Öğr. Gör. Dr. Barış ERKUŞ

BÖLÜM 7 BİLGİSAYAR UYGULAMALARI - 1

ÖĞRENME FAALĠYETĠ GELĠġMĠġ ÖZELLĠKLER

BÖLÜM 21 PALS ÜRETME FONKSĐYONLARI

MÜHENDİSLİK ve MİMARLIK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ ELEKTRONİK DEVRELER LABORATUVARI DENEY FÖYÜ 1

Temel Bilgisayar Programlama

DEVRELER VE ELEKTRONİK LABORATUVARI

Bilgisayar Uygulamaları PSİ105

İNCİRLİ MESLEKİ VE TEKNİK ANADOLU LİSESİ ELEKTRİK ELEKTRONİK TEKNOLOJİSİ ALANI UMEM ELEKTRONİK MONTÖRÜ KURSU GÜNLÜK ÇALIŞMA PLANI DERS.

Braille Star 40 Başvuru Kitapçığı Sürüm 4.0 Lütfen bu başvuru kitapçığıyla birlikte paketinizde bulunan kullanıcı kılavuzunu da gözden geçirin.

KAVRAMLAR. Büyüme ve Gelişme. Büyüme. Büyüme ile Gelişme birbirlerinden farklı kavramlardır.

Genel bilgiler Windows gezgini Kes Kopyala Yapıştır komutları. 4 Bilinen Dosya Uzantıları

Digifresh Kullanım Kılavuzu

BCN V A MİKROİŞLEMCİLİ AKÜ ŞARJ CİHAZI

KONTROL SİSTEMLERİ Ders Notu

BÜRO YÖNETİMİ VE SEKRETERLİK ALANI HIZLI KLAVYE KULLANIMI (F KLAVYE) MODÜLER PROGRAMI (YETERLİĞE DAYALI)

SÜREÇ YÖNETİMİ VE SÜREÇ İYİLEŞTİRME H.Ömer Gülseren > ogulseren@gmail.com

AIMCO AIMCO. Kullanım Kılavuzu. Mayıs 2016

Şekil 1. Sistem Açılış Sayfası

DENEY 2: PROTOBOARD TANITIMI VE DEVRE KURMA

Üç-fazlı 480 volt AC güç, normalde-açık "L1", "L2" ve "L3" olarak etiketlenmiş vida bağlantı uçları yoluyla kontaktörün tepesinde kontak hale gelir

SAYISAL TASARIM. Ege Üniversitesi Ege MYO Mekatronik Programı

RTX6_LRN Kod öğrenmeli Uzaktan kumanda

DERS 11 PIC 16F84 ile ALT PROGRAMLARIN ve ÇEVRİM TABLOLARININ KULLANIMI İÇERİK. Alt Program Çevrim Tabloları Program Sayıcı ( Program Counter PC )

Veri Toplama Yöntemleri. Prof.Dr.Besti Üstün

C Operatörler. Öğr. Gör. M. Ozan AKI. Rev 1.0

3. SCADA EKRANINDA EKLENEBİLECEK BUTON ÇEŞİTLERİNİ YAZINIZ. 4. EKRANDA LAMBANIN DURUMUNU GÖREBİLMEK İÇİN EDİTÖR PROGRAMINDAN NE EKLENMELİDİR.

ANALOG LABORATUARI İÇİN BAZI GEREKLİ BİLGİLER

Karadeniz Teknik Üniversitesi Orman Fakültesi. Orman Endüstri Mühendisliği Bölümü PROJE HAZIRLAMA ESASLARI

K12NET Eğitim Yönetim Sistemi

ATH-SW Serisi yüzey montaj termostat

Düzce Üniversitesi Bilim ve Teknoloji Dergisi

ULUDAĞ ÜNİVERSİTESİ ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ ELN3052 OTOMATİK KONTROL


MAKÜ YAZ OKULU YARDIM DOKÜMANI 1. Yaz Okulu Ön Hazırlık İşlemleri (Yaz Dönemi Oidb tarafından aktifleştirildikten sonra) Son aktif ders kodlarının

Anonim Verilerin Lenovo ile Paylaşılması. İçindekiler. Harmony

ENF TEMEL BİLGİSAYAR BİLİMLERİ Eğitim/Öğretim Yılı Bahar Dönemi DÖNEM SONU LAB. ÖDEV TESLİM DUYURUSU

Microswitchli çubuk termostat

Uzaktan Kumanda Kullanım Kılavuzu Model Bilgileri

BÖLÜM 3 FREKANS DAĞILIMLARI VE FREKANS TABLOLARININ HAZIRLANMASI

DİKKAT! SORU KİTAPÇIĞINIZIN TÜRÜNÜ "A" OLARAK CEVAP KÂĞIDINA İŞARETLEMEYİ UNUTMAYINIZ. SAYISAL BÖLÜM SAYISAL-2 TESTİ

TESİSAT TEKNOLOJİSİ VE İKLİMLENDİRME ÇELİK BORU TESİSATÇISI MODÜLER PROGRAMI (YETERLİĞE DAYALI)

B05.11 Faaliyet Alanı

ELEKTRĐKLĐ OCAK TR. Kurulum Kullanım Bakım

Yedi Karat Kullanım Klavuzu. Yedi Karat nedir? Neden Karat?

AN-500 FLASH POINT (Full Digital Tam Otomatik) (Kapalı Tip Alevlenme Noktası Tayin Cıhazı tanıtımı)

ÖLÇÜ TRANSFORMATÖRLERİNİN KALİBRASYONU VE DİKKAT EDİLMESİ GEREKEN HUSUSLAR

1. Mesaj Tipi ve Mesaj Fonksiyonu Bazında Bildirim Mail Adresi Tanımlama Đşlemleri

BQTEK SMS Asistan. Kullanım Kılavuzu. Doküman Versiyon: BQTEK

BELLEK BİRİMLERİ BELLEK BİRİMLERİ

4 ab sayısı 26 ile tam bölünebildiğine göre, kalanı 0 dır.

29 Ocak 2015 Senato Sayı : 123 YÖNERGE


Ç.Ü. GÜZEL SANATLAR FAKÜLTESİ İÇ MİMARLIK BÖLÜMÜ GÜZ YARIYILI İÇM PROJE 5 & DİPLOMA PROJESİ

K.S.Ü. MÜHENDİSLİK MİMARLIK FAKÜLTESİ TEKSTİL MÜHENDİSLİĞİ BÖLÜMÜ BİTİRME ÖDEVİ / BİTİRME PROJESİ DERSLERİ İLE İLGİLİ İLKELER

0 dan matematik. Bora Arslantürk. çalışma kitabı

13 Kasım İlgili Modül/ler : Satın Alma ve Teklif Yönetimi. İlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL

SHAKE TABLE KULLANIM KILAVUZU

KİŞİSEL GELİŞİM VE EĞİTİM İŞ GÜVENLİĞİ VE İŞÇİ SAĞLIĞI MODÜLER PROGRAMI (YETERLİĞE DAYALI)

F İ R M a. Herşey Bir Kaynaktan. Düz profillerin ve baraların işlenmesinde uzman

BULUŞ BİLDİRİM FORMU / APARAT

T8400C, T8401C Standart Elektronik Termostat

3- Kayan Filament Teorisi

Yorka Yazılım Dokuma Otomasyonu Projesi. KONU : Dokuma Üretim Takibi ve Otomasyonu

Hızlı Başlangıç Rehberi. Türkçe VTE-1016

Analiz aşaması sıralayıcı olurusa proje yapımında daha kolay ilerlemek mümkün olacaktır.

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

Türk-Alman Üniversitesi Mühendislik Fakültesi Staj Yönergesi. Ek İsterler

İÇİNDEKİLER. 1. Projenin Amacı Proje Yönetimi Projenin Değerlendirilmesi Projenin Süresi Projenin Kapsamı...

DOKÜMAN YÖNETİM SİSTEMİ KULLANIMI GELEN EVRAK

T.C AĞRI İBRAHİM ÇEÇEN ÜNİVERSİTESİ SAĞLIK YÜKSEKOKULU HEMŞİRELİK BÖLÜMÜ DÖNEM İÇİ UYGULAMA YÖNERGESİ BİRİNCİ BÖLÜM. Amaç, Kapsam, Dayanak ve Tanımlar

EĞİTİM BİLİMİNE GİRİŞ 1. Ders- Eğitimin Temel Kavramları. Yrd. Doç. Dr. Melike YİĞİT KOYUNKAYA

Fizik ve Ölçme. Fizik deneysel gözlemler ve nicel ölçümlere dayanır

GİYİM ÜRETİM TEKNOLOJİSİ ÇOCUK DIŞ GİYSİLERİ DİKİMİ (CEKET- MONT- MANTO) MODÜLER PROGRAMI (YETERLİĞE DAYALI)

ÖĞRENME FAALĠYETĠ 6 ÖĞRENME FAALĠYETĠ NESNE ĠġLEMLERĠ

1 Semboller. 3 Kurallara Uygun Kullanım. 4 Önceden Görülebilen Hatalı Kullanım Şekli. 2 Emniyet ve Tehlikeler. 1.1 İkaz Bilgileri. 1.

2 Ders Kodu: EMEZ202 3 Ders Türü: Zorunlu 4 Ders Seviyesi Önlisans

: WEST SOUND : TKS 207 S WEST SOUND TKS 207 S PROGRAMLI OKUL SAATİ KULLANIM ALANLARI:

Resmi Gazete Tarihi: Resmî Gazete Resmi Gazete Sayısı: YÖNETMELİK ELEKTRONİK HABERLEŞME SEKTÖRÜNDE HİZMET KALİTESİ YÖNETMELİĞİ

R-2R LADDER SWITCHES 8-BIT DAC SUCCESSIVE APPROXIMATION REGISTER 3-STATE BUFFERS

SANAT VE TASARIM GUAJ BOYA RESĠM MODÜLER PROGRAMI (YETERLĠĞE DAYALI)

- TESTO Hava Hızı ve Debisi Ölçüm Cihazı TANITMA VE KULLANMA KILAVUZU

İşaret Aygıtları ve Klavye Kullanıcı Kılavuzu

Ek 1. Fen Maddelerini Anlama Testi (FEMAT) Sevgili öğrenciler,

ENERJĠ DAĞITIMI-I. Dersin Kredisi

Resmi Gazete Tarihi: Resmi Gazete Sayısı: 28349

DEVLET KATKI SİSTEMİ Devlet katkısı nedir? Devlet katkısı başlangıç tarihi nedir? Devlet katkısından kimler faydalanabilir?

Transkript:

PROGRAMLAMA METODLARI Otomasyon sistemlerinin PLC ile tasarlanmasında PLC ye bağlı olarak iki farklı programlama türü mevcuttur. Bunlar ; 1- Doğrusal program işleme. 2- Yapısal program işleme. 1- Doğrusal program işlenmesi : MAIN ( OB1 ) 0... 1... 2... 3... 4... 5... 6 7FE... 7FF... Tüm program, tek bir ana program içinde işlenir. Örneğin, MAIN altında tüm emirler bulundukları sıraya göre işlenirler. Program sona erdiğinde başa dönülerek aynı işlemler tekrar edilir. Bu şekilde sürekli bir çevrim söz konusudur. Doğrusal program işlenmesi basit ve kapsamlı olmayan projeler için kullanışlıdır. Ancak kapsamlı projeler için uygun değildir. Çünkü doğrusal program işlenmesinde programın takibi ve arıza aranması güçleşir. 2- Yapısal program işlenmesi : Proses veya makinanızı bölümlere ayırın : Çok kapsamlı projelerin işlenmesinde gerek program takibi ve gerekse arızaların analizinde büyük kolaylıklar sağladığından kullanışlıdır. Bu programlama metodunun temel mantığı, gerçekleştirilecek projeyi mantıklı alt programlara ayırmaktır. Daha sonra bütün bu alt programların üzerinde ve alt programları yönetecek bir organizasyon ana programına ( OB1 ) ihtiyaç vardır. Ana program ( OB1 ) bir işletmedeki müdür gibidir. Tüm yönetim ve görev dağılımını müdür ( OB1 ) yapar. İşlevsel Kurallar Listesi Hazırlayın : Prosesin veya makinanın her bölümü için işlemlerin tanımını yapın. Şunları ele alın: Giriş/çıkışlar, işlemin tanımı, her aktüatörün (yani motor, valf, sürücü, vs) çalışması için gereken koşullar, operatör ara yüzeyi (lambalar, operatör panelleri, vs) ve makina veya prosesin diğer bölümlerle olan her türlü bağlantı noktaları. Emniyet Devrelerini Dizayn Edin : Emniyet için gereken sabit kablolu ekipmanı saptayın. Kontrol cihazları güvenli olmayan bir durum yaratacak şekilde arızalanabilir. Bu durumlarda makinanın beklenmedik hareketleri veya kendi kendine çalışmaya başlaması söz konusu olabilir. Bu tarz beklenmedik makina hareketlerinin insan hayatını veya maddi değerleri tehlikeye atmasına olanak veren yerlerde, S7-200 den bağımsız olarak çalışacak elektro mekanik kilitlemelerin, hatta emniyet rölelerinin kullanımı düşünülmelidir. Emniyet devrelerinde aşağıdaki durumları göz önüne alın: Tehlikeli sonuçlara yol açabilecek aktüatörleri saptayın. Sonucun zarara yol açmamasının ne şekilde sağlanabileceğini belirleyin ve bu durumu saptamak için S7 200 den bağımsız olarak ne yapılabileceğini ortaya koyun. S7 200 CPU ve giriş çıkışlarına enerji verildiğinde veya kesildiğinde prosesin nasıl etkileneceğini, arızalar gözlendiğinde ne yapılması gerektiğini belirleyin. Bu bilgi sadece normal ve beklenen anormal durumların dizaynında kullanılmalıdır. Emniyet amaçlı olarak düşünülmemelidir. SAYFA: 1

S7-200 den bağımsız çalışan manuel veya elektro mekanik ekipmanla tehlikeli durumu bloke eden çözümleri dizayn edin. Bu bağımsız devre ve ekipmanın S7 200 e geri besleme sağlamasını, böylece programın ve operatörün gerekli bilgiyi almasını sağlayın. Prosesin emniyetli çalışması için gereken diğer tüm emniyet önlemlerini saptayın. Operatör İstasyonlarını Belirleyin : İşlevsel kurallar listesine bağlı olarak operatör istasyonlarının şekillerini hazırlayın. Aşağıdaki maddeleri dahil edin: Proses veya makinaya göre operatör istasyonunun pozisyonunu gösteren şema Operatör istasyonunda bulunacak ekran, sviç, buton, lamba gibi cihazların mekanik yerleşimi S7 200 CPU ve genişleme modüllerinin elektrik bağlantı şeması Konfigürasyon Çizimlerini Hazırlayın : İşlevsel kurallar listesine göre kumanda ekipmanının konfigürasyon çizimlerini hazırlayın. Aşağıdaki maddeleri dahil edin: Proses veya makinaya göre S7 200 ün yerleşimini gösterir şema S7 200 ve genişleme modüllerinin mekanik yerleşimi (pano ve diğer ekipman dahil) Her S7 200 CPU ve genişleme modülünün elektrik bağlantı resimleri (cihaz sipariş numarası, giriş çıkış adresleri, iletişim adresleri dahil) Sembolik İsimler Listesi Oluşturun (opsiyonel) : Adresleme için sembolik isimler kullanacaksanız, mutlak adreslere karşılık gelen sembol isimleri için bir liste oluşturun. Sadece fiziksel girişleri değil, programınızda yer alan diğer elemanlar (zaman rölesi, M hafıza, vs) için de sembolik isimleri ekleyin. Ana Program (MAIN): Uygulamanıza kumanda eden esas program parçasıdır. S7 200 burada yer alan komutları sürekli olarak tarar. Ana programa OB1 de denir. Alt programlar (SBR): Programınızın bu seçime bağlı bileşenleri sadece çağırıldıkları zaman icra edilirler. Çağırılma işlemi ana programdan, bir interrupt alt programından veya bir başka alt programdan yapılabilir. Alt programlar, bir işlemi birden çok yapacağınız zaman özellikle çok yararlıdırlar. Oluşturacağınız fonksiyonu programın içerisinde birden çok yerde yazmak yerine sadece bir kere yazar ve ana programdan dilediğiniz kere çağırırsınız. Alt programlar birkaç yarar sunar: Alt programlar genellikle programınızın toplam boyutunu azaltır. Alt program kullanımı genellikle toplam tarama süresini azaltır. Zira, her taramada icra edilmeyecek olan program parçası ana program dışına aktarılmış ve sadece gerektiği (yani çağrıldığı zaman) icra edilecek duruma getirilmiştir. S7-200, çağrılmayan alt programları taramaz. Yeni alt programlar eklemek : MAIN ( ana program ) CALL SBR0 Alt program SBR0 CALL SBR1 Alt program SBR1 CALL SBR2 Alt program SBR2 Interrupt rutini INT0 Yapısal program işlenmesi blok diyagramı SAYFA: 2

Yapısal programlada her bir anlamlı program parçasını ayrı alt programlarda işlemek için yeni alt program (SBR) sayfaları oluşturulmalıdır. Bunun için aşağıdaki yol takip edilmelidir. Alt programlara yeni isim atamak : Sistemde oluşabilecek arızalar durumunda arızanın bulunduğu bölge örneğin, YAPIŞTIRMA bölümünde olduğu belirlenmişse bu alt program sayfası açılıp arıza analizi sadece bu kısımda aranmalıdır. Bu durum arıza arama süresini kısaltmaktadır. Örnek : SM0.0 = Her zaman ON olan bit ile SIKMA alt programına şartsız dallanma gerçekleştirilir. Bu dallanma işlemi MAIN ana sayfadan gerçekleştirilir. Ana program sayfasından çağırılmayan bir alt program sayfası işletilmez. O halde alt programlar MAIN sayfasından şartlı veya şartsız olarak çağırılmak zorundadırlar. SIKMA alt program sayfasında bir zamanlayıcı işlemi gerçekleştirilir. LD SM0.0 CALL SIKMA SAYFA: 3

SAYISAL OPERASYONLARDA TEMEL KAVRAMLAR VE TANIMLAR Akümülâtör : Hafıza olarak kullanılan bir oku/yaz birimdir. Akümülâtörler alt programlara parametre aktarmak ve onlardan veri almak için kullanılabilir. Akümülâtör kütükleri : AC0, AC1, AC2 ve AC3 olarak gösterilen birbirinden bağımsız akümülâtörlerdir. Alt program : Tekrarlanan fonksiyonların yerine getirilmesinde ya da interrupt olgularında kullanılan program parçasıdır. Alt programın icra edilmesi için çağrılması (CALL) gerekir. Alt programların kullanılma zorunluluğu yoktur. Alt programlar ana programın sonunda yer almalıdır. Analog Giriş/çıkış : Analog giriş/çıkış modülleri gerçek dünyada var olan değerlerle (sıcaklık, basınç, vs) CPU'nun yorumlayabileceği dijital değerler arasındaki dönüşümü sağlar. Bir analog modül sadece giriş ve çıkış içerebileceği gibi hem giriş, hem çıkış içeren kombinasyon modülleri de bulunur. ASCII : 'American Standard Code for Information Interchange' sözcüklerinden kısaltılmış olan bu terim alfanümerik gösterim için bir standart oluşturur. Bu standarda göre her karakterin belli bir dijital (heksadesimal ya da ondalık sayı) karşılığı vardır. Bit : (İngilizce Binary Digit'ten kısaltma) ikili sistemin rakamı olup iki değer alabilir: 0 ya da 1 (kapalı ya da açık; yanlış ya da doğru). Bayt ( Byte ) : Sekiz bit bir bayt ı oluşturur. Word : 16 bitlik (2 baytlık) değerdir. Baud : İletişim hızı birimi olup bit/saniye'ye denktir. BCD : İngilizce Binary Coded Decimal'den kısaltılmış olup ikili sistemle kodlanmış ondalık sayı anlamına gelir. BCD'de sayının değerine bakılmaksızın 0 ila 9 arasındaki rakamlar 4 bit olarak ikili sisteme dönüştürülür ve haneye göre yan yana dizilir. Örneğin 324 ondalık sayısı 0011 0010 0100 olarak gösterilir. Endirekt Adresleme : Erişilecek hafıza elemanının adresine değişken olarak, bir başka değişkenin (pointer'ın) kontrolunda erişilmesine endirekt adresleme denir. Giriş Kütüğü : Giriş kütüğü, programın icrasından önce okunan, girişlerin durumunun saklandığı ve tipik olmamakla beraber program icrası sırasında da program tarafından değiştirilebilen hafıza alanıdır. ( PII ) Hafıza : Veri saklanan alandır. S7-200 hafızası üç e bölünmüştür: 1- Program hafızası. 2- Veri hafızası. 3- Ayarlanabilir parametreler hafıza bölgeleri. Heksadesimal : 16 tabanlı sayı sistemidir. 0...9 rakamlarına ek olarak A, B, C, D, E, F rakamlarına da sahiptir. Kalıcı Aralık : Enerji kesilmesi durumunda da saklanan hafıza elemanları grubudur. Kalıcı aralıktaki elemanlar RAM da CPU'daki süper kondansatör deşarj oluncaya ya da pil bitinceye kadar saklanır. Kalıcı Hafıza : Enerji olmadığı zaman dahi içeriğini saklayabilen hafıza çeşididir. OB1 : Program hafızasıdır. SAYFA: 4

Özel Hafıza Bitleri : CPU'nun işletim sistemiyle kullanıcı programı arasındaki bilgi alışverişini sağlayan bitlere denir. Random Access Memory (RAM) : Hem yazılıp hem de okunabilen bellektir. Program icrası sırasında programın bir kopyası ve erişilen veriler RAM da bulunur. Tam Sayı : Negatif ve pozitif doğal sayıları ve sıfırı içeren kümenin bir elemanıdır. Tarama : Kullanıcı programının periyodik olarak icra edilmesidir. Bir taramada girişler okunur, kullanıcı programı çalıştırılır, iletişim istekleri gerçekleştirilir, dahili kontrollar yapılır ve çıkışlar yazılır. Tarama bitince tekrar başa dönülür ve aynı işlemler yapılır. Bu işlemlerin bir defa yapılması için geçen süreye tarama süresi denir ve genellikle milisaniyeler seviyesindedir. Veri Alanı : PLC hafızası beş veri alanından oluşur: 1- Giriş. 2- Çıkış. 3- Dahili hafıza bitleri. 4- Özel hafıza bitleri. 5- Değişken (V) hafıza. Veri Bölgesi : Veri bölgesi, hesaplamalar, geçici ara değerler, sabitlerin saklanması için kullanılan hafıza bölgesidir. Veri elemanlarını da içerir. Veri bölgesinin bir kısmı kalıcı hafızada saklanır. Veri Elemanı : Veri elemanları özel fonksiyonları olan hafıza bölgeleridir. Bunlar zaman röleleri, sayıcılar, analog girişler, analog çıkışlar, akümülâtör kütükleri ve hızlı sayıcılardır. Veri Hafızası : Veri hafızası (V hafızası) 4 bölgeden oluşur. 1- Giriş kütüğü. 2- Çıkış kütüğü. 3- Dahili hafıza bitleri. 4- Özel hafıza bitlerinden oluşur. YÜKLEME VE TRANSFER OPERASYONLARI Taşıma (transfer) ve karşılaştırma emirleri word seviyesindeki işlemleri gerçekleştirebilmek için önemli operasyonlardır. Çünkü bu emirler kumandanın giriş ve çıkış değişkenleri, durum tespit işaretleri ve data bellek alanları gibi çeşitli modülleri arasında bilgi alışverişini sağlamaktadır. Bu bilgi değişimi direkt olmamaktadır. Bunun için akümülâtörler kullanılır. Akümülâtör, biri esas ve diğeri yardımcı olmak üzere iki bölümden oluşan ve mikroişlemci tarafından özel olarak tanınan 16 bit lik bir word tür. Taşıma (transfer) işlemi için aşağıda gösterildiği şekilde bir format kullanılmaktadır. İlk önce yüklenen bilgi AKÜ 1 e gelir. İkinci bir bilgi akümülâtöre yüklenmek istendiğinde AKÜ 1 deki bilgi AKÜ 2 ye kaydırılır. Bu şekilde ikinci bilgi AKÜ 1 e yüklenmiş olur. Daha sonra istenilen operasyon gerçekleştirilir. Sonuç yine AKÜ 1 dedir. AKÜMÜLÂTÖR BİLGİ KAYNAĞI Yükleme Bayt, word AKÜ 1 AKÜ 2 Transfer Bayt, word BİLGİ HEDEFİ PLC de yükleme ve transfer operasyonlarının gerçekleştirilmesi SAYFA: 5

YÜKLEME : Bilginin bir kaynaktan akümülâtöre getirilmesidir. Yüklenecek olan bilgi bayt veya word değerinde olabilir. Aynı şekilde sabit değerler, zaman elemanları, sayıcı sayma değerleri de akümülâtöre yüklenebilir. TAŞIMA (TRANFER) : Akümülâtördeki bilginin bir data hedefine atanmasıdır. Bu data hedefi, giriş-çıkış değişkenleri, durum tespit işaretleri veya herhangi bir data alanı olabilir. Taşınacak (transfer edilecek) bilgi bit veya bayt şeklinde olabilir. Bayt Taşı ( Mov_B ): Bu komut, giriş baytını (IN) çıkış baytına (OUT) taşır. Giriş baytı bu taşımadan etkilenmez. Operandlar: IN (bayt): VB, IB, QB, MB, SMB, SB, AC, Sabit, OUT (bayt): VB, IB, QB, MB, SMB, SB, AC, Örnek : Giriş baytı adreslerinden hangisi uyarılırsa, o girişe denk gelen çıkış adresi aktif olsun. I0.0 giriş 1 yapılırsa Q0.0 çıkışı 1 olsun. I0.1 giriş 1 yapılırsa Q0.1 çıkışı 1 olsun. I0.2 giriş 1 yapılırsa Q0.2 çıkışı 1 olsun. Sayısal operasyonlarla çözüm : Aynı işlem Bayt taşı komutu ile çok kısa bir biçimde gerçekleştirilebilir. Bunun için giriş baytını ( IB0 ), çıkış baytına ( QB0 ) transfer etmek yeterlidir. Sayısal fonksiyonlara ait tüm operasyon kutularının EN girişleri, S7-200 PLC cihazında direkt olarak soldaki enerji çizgisine bağlanamazlar. Bu nedenle bu girişlere genelde her zaman ON olan özel hafıza bitleri atanır ( SM0.0 ). KARŞILAŞTIRMA OPERASYONLARI : Karşılaştırma operasyonlarının kullanımı yükleme ve transfer emirlerinin iyi anlaşılması durumunda kolaydır. 1- = = Bayt Bayt eşit karşılaştırma komutu. 2- >= Bayt Bayt büyük ya da eşit karşılaştırma komutu. 3- <= Bayt Bayt küçük ya da eşit karşılaştırma komutu. 4- = = Tam Sayı Tamsayı eşit karşılaştırma komutu. 5- >= Tam Sayı Tamsayı büyük ya da eşit karşılaştırma komutu. 6- <= Tam Sayı Tamsayı küçük ya da eşit karşılaştırma komutu. 7- = = Gerçel Sayı Gerçel sayı eşit karşılaştırma komutu. 8- >= Gerçel Sayı Gerçel sayı büyük ya da eşit karşılaştırma komutu 9- <= Gerçel Sayı Gerçel sayı küçük ya da eşit karşılaştırma komutu SAYFA: 6

1- BAYT EŞİT KARŞILAŞTIRMA KOMUTU ( ==B ) : olur. n1 değeri n2 değerine eşit olduğu zaman kontak kapanır. Kontak kapandığında enerji akışı n1 ==B n2 Operandlar: n1, n2 (işaretsiz bayt): VB, IB, QB, MB, SMB, SB, AC, Sabit. Uygulama : Data blok içinde tanımlanmış olan VB0 = 100, VB1 = 100 ise Q0.0 = 1 olsun Yukarıda görülen Data blok ikonu tıklanarak açılan pencerede, VB0 için 100 ve VB1 için 100 değeri yüklenir. MAIN editöründe aşağıdaki eşitlik yazılarak VB0 = VB1 ise; Q0.0 = 1 olması sağlanır. 2- BAYT BÜYÜK YA DA EŞİT KARŞILAŞTIRMA KOMUTU ( >=B ) n1 değeri n2 değerine eşit ya da büyük olduğu zaman kontak kapanır. Kontak kapandığında enerji akışı olur. >=B n1 n2 Operandlar: n1, n2 (işaretsiz bayt): VB, IB, QB, MB, SMB, SB, AC, Sabit, *VD, *AC Uygulama : Data blok içine yazılmış olan VB2 değeri VB4 değerine eşit ya da büyük olduğu zaman Q0.1 çıkış kontağı kapanır. Kontak kapandığında enerji akışı olur. SAYFA: 7

3- BAYT KÜÇÜK YA DA EŞİT KARŞILAŞTIRMA KOMUTU ( <=B ) n1 değeri n2 değerine eşit ya da küçük olduğu zaman kontak kapanır. Kontak kapandığında enerji akışı olur. n1 <=B n2 Operandlar: n1, n2 (işaretsiz bayt): VB, IB, QB, MB, SMB, SB, AC, Sabit, Uygulama : Data blok içine yazılan VB10 değeri VB11 değerine eşit ya da küçük olduğu zaman Q0.0 çıkış kontağı kapanır. Kontak kapandığında enerji akışı olur. 4- TAMSAYI EŞİT KARŞILAŞTIRMA KOMUTU ( ==I ) n1 değeri n2 değerine eşit olduğu zaman kontak kapanır. Kontak kapandığında enerji akışı olur. n1 == I n2 Operandlar: n1, n2 (işaretli tam sayı word): VW, T, C, IW, QW, MW, SMW, SW, AC, AIW, Sabit. Uygulama : C0 sayıcısının sayma değeri 5 olduğunda Q0.0 çıkışı aktif olsun. +50 +5 5- TAM SAYI BÜYÜK YA DA EŞİT KARŞILAŞTIRMA KOMUTU ( >=I ) n1 değeri n2 değerine eşit ya da büyük olduğu zaman kontak kapanır. Kontak kapandığında enerji akışı olur. n1 >= I n2 Operandlar: n1, n2 (işaretli tam sayı word): VW, T, C, IW, QW, MW, SMW, SW, AC, AIW, Sabit. SAYFA: 8

Uygulama : C1 sayıcısının değeri 5 sayısına eşit ya da büyük olduğunda Q0.0 aktif olsun. 6- TAM SAYI KÜÇÜK YA DA EŞİT KARŞILAŞTIRMA KOMUTU ( >=I ) n1 değeri n2 değerine eşit ya da küçük olduğu zaman kontak kapanır. Kontak kapandığında enerji akışı olur. n1 <= I n2 Operandlar: n1, n2 (işaretli tam sayı word): VW, T, C, IW, QW, MW, SW, SMW, AC, AIW, Sabit. Uygulama : C1 Sayıcısının değeri 5 sayısına eşit yada küçük olduğunda Q0.0 aktif olsun. SAYFA: 9

UYGULAMA : TRAFİK SİNYALİZASYONU : Bir kavşaktaki trafik akışını kontrol eden trafik sinyalizasyon şebekesinin çalışma diyagramında görüldüğü gibi işlemesi isteniyor. Sistemi PLC için programlayınız. Öğrenim hedefi : Bu uygulamayı başarı ile tamamlayan her uygulayıcı, sayıcı içeriğini sayısal karşılaştırma operasyonlarını kullanarak sorgulayabilir. Bunlarla ilgili değişik otomasyon problemlerini çözer. Çalışma diyagramı : Sayıcı sayma sinyalleri 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2 3 Kırmızı Sarı Yeşil Sayıcı içeriğinin sayısal olarak sorgulanması : Bir yukarı sayıcı ( counter - Up) 1 saniye aralıklarla sayma işlemi yapacaktır. 1 saniyelik sayma sinyalleri PLC içersindeki özel bit olan SM 0.5 ile elde edilecektir. SM 0.5 biti, 1 sn. aralıkla darbe üreten özel bir bittir. Bu iş için PLC içersinde daha önce kullanılmamış olan bir sayıcı numarası seçilecektir. ( C0, C1, C10, v.b. ) Sayıcının durumu her an sorgulanarak, diyagramda belirtilen sayı değerlerinde ilgili adresler set veya reset edilecektir. Örneğin sayıcının sayma değeri sıfır (0) iken kırmızı lamba set, sayma değeri 10 olduğunda ise reset edilmelidir. Aynı şekilde sarı ve kırmızı lambalar için benzer karşılaştırma işlemi yapılacaktır. Bir çalışma çevrimi tamamlanıp yeniden kırmızıdan başlayan bir çalışmanın başlayabilmesi için sayıcının resetlenmesi gerekir. ( Diyagramda 0... 21 sayma sinyali arası bir çalışma çevrimidir. ) Buna göre sayıcının hangi sayma sinyalinde resetlenmesi gerektiği belirlenmelidir. Birbiri ile aynı anda çalışması istenmeyen sinyaller kilitlemelerle engellenmelidir. Örneğin kırmızı ile yeşilin aynı anda devrede bulunması arzu edilmez. O halde bu elemanlar birbirleri üzerinden kilitlenmelidirler. Enerjinin kesilip tekrar gelmesi durumunda sayıcı değeri sıfırlanmalıdır. Bunun için PLC içersindeki özel yardımcı rölelerden yararlanılır. Yani enerjinin kesilip tekrar gelmesi durumunda ilk tarama için bir defalık 1 olan bir bit gereklidir. (S7-200 PLC için SM 0.1 biti) SAYFA: 10

Programlamaya giriş : Programlama S7-200 PLC cihazı için yapılacaktır. Ancak çözüm yönteminin diğer PLC cihazlarına aktarılması mümkündür. Yapılacak tek şey mevcut PLC cihazı için ilgili adreslerin ilgili kullanım klavuzundan bulunarak çözüme aktarılmasıdır. Çözümün tek bir PLC için bağlayıcı olmaması açısından mutlak adresleme yerine, her uygulayıcının anlayabileceği sembolik adresleme metodu kullanılacaktır. Bilindiği gibi sembolik adresleme yönteminde her işinin anlayabileceği türden ifadeler mutlak adres alanı yerine kullanılabilir. Sayıcının programlanması : Bu bölümde sayıcının set ve reset şartları belirlenecek. Set şartı, 1 saniye sayma sinyallerinin uygulanmasıdır. Reset şartı ise sayıcının hangi sayma darbesinden sonra sıfırlanacağıdır. Sayma sinyalleri çevrim sonuna ulaştığında ( sayma değeri 22 ise ) yardımcı röle aktif olsun. ( sembol tablosunda M 5.1 ) C0 sayıcısının programlanması : CU girişinden 1 saniye sayma darbeleri uygulanır. Bir çalışma çevrimi sonunda aktif olan reset yardımcı rölesi ile sayıcı sayma değeri sıfırlanır. SM 0.1 özel yardımcı röle olup, PLC nin ilk çalıştırılmasında veya enerji kesilmesinden sonraki ilk çalışmada, bir defa 1 olur. Bu röle, sayıcı reset girişine bağlı olduğundan ilk çalıştırılmada sayma sinyallerini sıfırlar. SAYFA: 11

Sayma değeri sıfır ise kırmızı lamba set olsun. İleri Seviye PLC ( SIMATIC S7200 ) Sayma değeri beş (5) ise sarı lamba set olsun. Sayma değeri on (10) ise kırmızı ve sarı lamba reset. Yeşil lambanın 15... 20 sayma darbesi boyunca kesik kesik çalışmasını sağlayan yardımcı rölenin set edilmesi. SAYFA: 12

İleri Seviye PLC ( SIMATIC S7200 ) Yeşil lambanın 15... 20 sayma darbesi boyunca kesik kesik çalışmasını sağlayan yardımcı rölenin reset edilmesi. Yeşil lambanın sürekli ve fasılalı yanması : 10..15 sayma darbeleri arasında yeşil sürekli yanar. Ancak daha önce kırmızı ve sarının reset edilmiş olması gerekir. 15. sayma sinyalinde fasıla rölesi devreye girdiğinde normalde kapalı kontağını açar ve açık olan kontağını kapatır. Bu durumda yeşil, sürekli çalışma konumundan SM0.5 darbe rölesi üzerinden kesikli çalışmaya geçer. Fasılalı çalışmadan sonra sarının 2 darbe süresince set edilmesi : SAYFA: 13

UYGULAMA : İleri Seviye PLC ( SIMATIC S7200 ) ASANSÖR TESİSİ 4 katlı bir binanın asansör tesisi PLC ile kontrol edilmek isteniyor. Her katta asansör kabinini durduracak sinyal verici elemanlar bulunmaktadır. ( temaslı ya da temassız algılayıcılar ) Ayrıca her katta bir çağırma butonu ve meşgul lambası bulunacaktır. Asansör kabini hareket halinde iken katlardan hiçbir çağırma sinyali kabul edilmeyecektir. Kapı ve ağılık kontrolü gibi işlemler çözümde dikkate alınmayacaktır. Dijital girişlerin belirlenmesi : Her kat için 4 durdurma sinyal verici eleman ( sınır anahtarı ) ve k4 adet kat çağırma butonu olmak üzere toplam 8 dijital giriş kullanılacaktır. Buna göre en az 8 dijital girişe sahip bir PLC cihazı seçilmelidir. Dijital çıkışların belirlenmesi : Asansör iki eksen de hareket etmektedir. Çağırma elemanları Durdurma elemanları L+.0.1.2.3.4.5.6.7 CPU 222 Dijital girişler ( IB0 ) Ç3 D3 Ç2 D2 Ç1 D1 ÇZ DZ SAYFA: 14

İleri Seviye PLC ( SIMATIC S7200 ) IB0 giriş baytı ünün düşük değerlikli ilk 4 biti MB0 da tanımlanır. IB0 giriş word ünün yüksek değerlikli son 4 biti MB1 de tanımlanır. IB0.7.6.5.4.3.2.1.0.7.6.5.4.3.2.1.0.7.6.5.4.3.2.1.0 MB0 MW0 MB1 Hiçbir kattan çağırma sinyali yoksa M10.0 aktif olsun. Zemin kattan çağırılmışsa MB0 a 1 sayısal değeri yüklensin. 1. Kattan çağırılmışsa MB0 a 2 sayısal değeri yüklensin. 2. Kattan çağırılmışsa MB0 a 4 sayısal değeri yüklensin. SAYFA: 15

3. Kattan çağırılmışsa MB0 a 8 sayısal değeri yüklensin. Kabin zemin katta ise MB1 e 1 sayısal değeri yüklensin. Kabin 1. katta ise MB1 e 2 sayısal değeri yüklensin. Kabin 2. katta ise MB1 e 4 sayısal değeri yüklensin. Kabin 3. katta ise MB1 e 8 sayısal değeri yüklensin. Çağırma sinyalleri durdurma sinyallerinden büyükse kabin yukarı hareket etsin. SAYFA: 16

Çağırma sinyalleri durdurma sinyallerinden büyükse kabin Aşağı hareket etsin. Çağırma sinyalleri baytı, durdurma sinyalleri baytı sayısal değerine eşitse, kabin istenilen kattadır. Bu durumda çalışmakta olan tüm motorlar reset olsun. Aynı zamanda çağırma sinyalleri baytı MB0 içeriği sıfırlansın. SAYFA: 17

PROGRAM AKIŞ KONTROLÜ KOMUTLARI : Son ( END ) Dur ( STOP ) Sıçra ( JUMP ) Etiket ( LABEL ) Çağır ( CALL ) SON ( END ) KOMUTU: Koşullu Son : Önceki mantığa göre (komuta enerji geliyorsa) programı bitirir. kullanıcı programını bitirmek için kullanılır. Her zaman için ana programın (alt programlar hariç) son devresini oluşturur. Uygulama : I0.7 girişinden sinyal geldiğinde programı sonlandır. DUR ( STOP ) KOMUTU : CPU' yu STOP konumuna getirerek program akışını keser. Not: CPU'nun tekrar RUN konumuna geçirilmesi elle (programlama paketinden ya da CPU'nun üzerindeki sviçten) yapılacağı için çok dikkatli kullanılmalıdır. Uygulama : isteniyor. PLC cihazında giriş-çıkış arızası olduğunda cihazın durdurulması SM5.0 STOP LD SM0.5 STOP SM5.0 : var) Giriş/çıkış arızalarında etkin olan özel hafıza bitidir. (0 arıza yok; 1 herhangi bir giriş/çıkış arızası SAYFA: 18

SIÇRA ( JMP ) KOMUTU: Herhangi bir programın işleyişi esnasında, programa ait satır ya da satırların veya programın tamamının birtakım şart veya şartlara bağlı olarak akışının değiştirilmesi veya pasif hale getirilmesi JUMP ( sıçra ) komutu ile gerçekleştirilir. Program belli noktalarda bir takım şartların oluşumuna göre dallara ayrıldığından, bu işleme programın dallanması da denilmektedir. n Sembol: JMP n: Sıçramanı hedefini gösterir. S7-200 serisi PLC cihazlarında bu hedef, rakamlarla ifade edilir. Örneğin, CPU 221, 222, 224 226 için n = 0-255 aralığındaki sayılar sıçrama hedefi olarak kullanılabilir. ETİKET ( LBL ) : Sembol: n LBL Operandlar: CPU 221, 222, 224 226 için n = 0-255 Etiket, sıçra (JMP) komutuyla yapılacak sıçramanın hedefini (n) gösterir. JMP ve LBL komutları mutlaka birlikte kullanılmalıdır. JMP komutunun önündeki şart ON ise sıçrama işlemi başlar. JMP komutunun önündeki şart OFF ise sıçrama işlemi yapılamaz. Start 0 JMP Start ON ise sıçrama başlar. PROGRAM............ Bu aradaki program işlenmez 0 LBL Sıçrama işleminin bittiği nokta. Bu noktadan sonra program işlemeye devam eder. Devam eden program... SAYFA: 19

Uygulama 1: I 0.0 girişinin uyarılıp sıçramanın başlatılmasıyla Network 2 içindeki program parçasının çalışmadığını gözleyiniz. Network 4 içindeki program parçası sıçramadan etkilenmez. Network 1 // I0.0 sinyali etkinse 0 numaralı etikete kadar olan program parçası çalıştırılmasın. 0 Network 2 // Sıçramanın başlaması ile işlenmeyen program parçası. Network 3 // Sıçramanın bittiği nokta. 0 Network 4 // Devam eden bir program. SAYFA: 20

LOGICAL OPERASYON KOMUTLARI VE UYGULAMALARI 8 Bit (Bayt), 16 bit ( word ) veya 32 bit ( dabıl word ) uzunluğundaki değerler birbirleri ile VE, VEYA, ÖZEL VEYA işlemlerine tabi tutulabilirler. OR BAYT İŞLEMİ : Bu fonksiyon, giriş baytları IN1 ve IN2'nin karşılıklı gelen bitlerini lojik olarak OR işlemine tabi tutar ve sonucu çıkışa ( OUT ) yazar. Operandlar: IN1, IN2 (word) :VW, T, C, IW, QW, MW, SMW, SW, AC, AIW, Sabit. OUT (word) : VW, T, C, IW, QW, MW, SMW, SW, AC. Lojik matematikte OR işlemi toplama işlemine denk düşmektedir. OR_BAYT işlemi ise 8 bit değerinde iki veri alanının karşılıklı bitlerini toplamak anlamındadır. Toplama işlemine tabi tutulacak alanlar zamanlayıcı değerleri ( T ), sayıcı içeriği ( C ), giriş word u, çıkış word u, yardımcı röle word alanları vb. olabilirler. Uygulama : VB0 ile VB2 bilgi alanı içindeki veriye ORBAYT işlemini uygulayalım: VB0 içindeki desimal 10 bilgisi ile VB2 içindeki desimal 11 bilgileri OR_BAYT işlemine tabî tutulur ve sonuç VB6 çıkış baytına transfer edilir. Data blok içine VB0 ve VB2 alanlarına OR_BAYT işlemine tabi tutulacak sayı değerleri girilir. SAYFA: 21

AND BAYT İŞLEMİ : Bu fonksiyon, giriş baytları IN1 ve IN2'nin karşılıklı gelen bitlerini l ojik olarak AND işlemine tabi tutar ve sonucu çıkışa ( OUT ) yazar. Lojik matematikte AND işlemi çarpma işlemine denk düşmektedir. ANDBAYT işlemi ise 8 bit değerinde iki veri alanının karşılıklı bitlerini çarpmak anlamındadır. Operandlar: IN1, IN2 (word) : VW, T, C, IW, QW, MW, SMW, SW, AC, AIW, Sabit. OUT (word) : VW, T, C, IW, QW, MW, SMW, SW, AC. Uygulama : VB0 ile VB2 bilgi alanı içindeki veriye ANDBAYT işlemini uygulayalım: VB0 içindeki desimal 10 bilgisi ile VB2 içindeki desimal 11 bilgileri AND_BAYT işlemine tabî tutulur ve sonuç VB6 çıkış baytına transfer edilir. Data blok içine VB0 ve VB2 alanlarına AND_BAYT işlemine tabi tutulacak sayı değerleri girilir. MASKELEME İŞLEMİ : İstenmeyen bitlerin VE mantığı ile kapatılması prensibine dayanır. Bu yöntemde kullanmak istemediğimiz bitler sıfır (0) ile çarpılır. Bir sayının sıfır ile çarpımı hep sıfır olduğundan, kullanmak istemediğimiz bitler sıfır ile maskelenmiş olur. Uygulama 1: I0.0...I0.7 arasında toplam 8 girişe sahip bir PLC cihazında I0.4..I0.7 arasındaki bitler kullanılmak istenilmemektedir. IB0 0.3 0.2 0.1 0.0 Maskelenecek alan içindeki tüm bitler 0 ile çarpılır (WAND_B). 0 F Bilindiği gibi heksadesimal sayı sisteminde her basamağı göstermek için 16 adet sembol gereklidir. Sistemde kullanılan 16 sembol içersinde, 10 adet i ondalık basamak ( 0...9 ) ve 6 adet i de alfabetik karakterdir. ( A, B, C, D, E, F ) SAYFA: 22

Uygulama 2: Aşağıda taranmış bitlerin maskelenmesi istenmektedir. Bu haliyle QB0 çıkış kanalından izlenmelidir. IB0.7.6.5.2.0 Maskelenecek alan içindeki tüm bitler 0 ile çarpılır (WAND_B). E 5 XOR_WORD İŞLEMİ : Bu fonksiyon, giriş wordleri IN1 ve IN2'nin karşılıklı gelen bitlerini lojik olarak XOR işlemine tabi tutar ve sonucu çıkışa ( OUT ) yazar. Operandlar: IN1, IN2 (word) :VW, T, C, IW, QW, MW, SMW, SW, AC, AIW, Sabit. OUT (word) : VW, T, C, IW, QW, MW, SMW, SW, AC. Özel veya (XOR) işlemi elektrik tesislerindeki vaviyen anahtar işlemine denk düşmektedir. XOR_BAYT işlemi ise 8 bit değerinde iki veri alanının karşılıklı bitlerini X_OR işlemine tabî tutar. X_OR işlemine tabi tutulacak alanlar zamanlayıcı değerleri ( T ), sayıcı içeriği ( C ), giriş word u, çıkış word u, yardımcı röle word alanları vb. olabilirler. Bilindiği gibi X_OR işlemi, giriş değişkenlerinin aynı değere sahip olması durumunda ( 11 veya 00 ) çıkış sıfır, giriş değişkenlerinin farklı değere sahip olması durumunda ( 10 veya 01 ) çıkış bir olmaktadır. SAYFA: 23

Uygulama : VB0 ile VB2 bilgi alanı içindeki veriye XOR_BAYT işlemini uygulayalım: VB0 içindeki desimal 10 bilgisi ile VB2 içindeki desimal 3 bilgileri XOR_BAYT işlemine tabî tutulur ve sonuç VB6 çıkış baytına transfer edilir. Data blok içine VB0 ve VB2 alanlarına XOR_BAYT işlemine tabi tutulacak sayı değerleri girilir. SWAP : Bu komut iki bayt ın yerini değiştirir. QW0 = QB0 + QB1 iken SWAP komutu işletildiğinde : QW0 = QB1 + QB0 olur. Önce giriş Word u IW0, çıkış Word u QW0 a transfer edilir. Ve transfer bilgilerinin karşılıklı olduğu görülür. Sonra SWAP komutu işletilerek QW0 ın baytları değiş tokuş edilir. Bu durumda Qb0 alanında gözükmesi gereken bilgi, QB1 alanında görülür. SAYFA: 24

SHİFT REGİSTER_BİT : ( KAYDIRMALI KAYDEDİCİ ) N : Kaydırmanın yapılacağı alan genişliği. S_BİT : Kaydırmanın yapılacağı bit adresi. DATA : Kaydırmanın yapılabilmesi için bilgi girişi. EN : Kaydırma clock darbesi. Uygulama : Aşağıdaki akışa uygun biçimde öteleme gerçekleştirilmek isteniyor. VB33 : Öteleme işleminin yapılacağı bayt adresi. V33.4 : Öteleme işleminin yapılacağı başlangıç bit adresi. N=14 : Ötelenecek verinin bit sayısı cinsinden uzunluğu. I0.2 : Öteleme impuls darbesi girişi. I0.3 : Data yetki girişi. I0.3 = 1 ise; I0.2 girişinin her bir yükselen kenarında V33.4 adresinden başlayan bitler ötelenir. Ötelenecek bit genişliği N=14 olduğundan ötelemenin bittiği nokta V35.1 bit değeridir. Bu noktadan sonra öteleme yapılamaz. SHİFT_LEFT BYTE : Data blok içinde VB0 alanına yazılmış 2 bilgisini (0010), VB1 alanına kaydırıp, 2 bit öteleyelim: Çözüm : SAYFA: 25

SHİFT_RIGHT BYTE : Data blok içinde VB1 alanına yazılmış 4 bilgisini (0100) kaydırıp, 1 bit öteleyelim: bir VB2 bayt alanına Çözüm : SAYFA: 26

UYGULAMA 2: İleri Seviye PLC ( SIMATIC S7200 ) ASANSÖR TESİSİ 4 katlı bir binanın asansör tesisi PLC ile kontrol edilmek isteniyor. Her katta asansör kabinini durduracak sinyal verici elemanlar bulunmaktadır. ( temaslı ya da temassız algılayıcılar ) Ayrıca her katta bir çağırma butonu ve meşgul lambası bulunacaktır. Asansör kabini hareket halinde iken katlardan hiçbir çağırma sinyali kabul edilmeyecektir. Kapı ve ağılık kontrolü gibi işlemler çözümde dikkate alınmayacaktır. Dijital girişlerin belirlenmesi : Her kat için 4 durdurma sinyal verici eleman ( sınır anahtarı ) ve k4 adet kat çağırma butonu olmak üzere toplam 8 dijital giriş kullanılacaktır. Buna göre en az 8 dijital girişe sahip bir PLC cihazı seçilmelidir. Dijital çıkışların belirlenmesi : Asansör iki eksen de hareket etmektedir. Çağırma elemanları Durdurma elemanları L+.0.1.2.3.4.5.6.7 CPU 222 Dijital girişler ( IB0 ) Ç3 D3 Ç2 D2 Ç1 D1 ÇZ DZ SAYFA: 27

İleri Seviye PLC ( SIMATIC S7200 ) IB0 düşük değerlikli ilk 4 biti (.0,.1,.2,.3 ) MB0 alanına transfer edilecektir. IB0 yüksek değerlikli son 4 biti (.4,.5,.6,.7 ) MB1 alanına transfer edilecektir. Transfer işleminde istenilmeyen bitler maskelenecektir..7.6.5.4.3.2.1.0 IB0 Maskelenecek alan 0 F.7.6.5.4.3.2.1.0 MB0 (ÇAĞIRMA ).7.6.5.4.3.2.1.0 IB0 Maskelenecek alan F 0.7.6.5.4.3.2.1.0 MB1 (DURDURMA).7.6.5.4.3.2.1.0 MB1 4 bit sağa kaydır. SAYFA: 28

PLC stoptan RUN a geçtiğinde sadece bir defaya mahsus çağırma baytı (MB0) içeriği sıfırlanır. Çağırma sinyalleri durdurma sinyallerine eşitse (MB0=MB1) o anda yukarı veya aşağı röleririnden hangisi devrede ise reset edilmelidir. Aynı zamanda kabinin hareket halinde olduğunu sorgulayan M10.0 biti reset edilir. Çağırma sinyal baytı sıfırdan farklı bir değer ise, kabin hareket halindedir. Bu durumda merker 10.0 biti set edilir. Kabin hareket halinde değilse, yani M10.0 = 0 ise; giriş baytı (IB0) ın durdurma sinyal bölümü maskelenir. Bunun anlamı; çağırma sinyalleri aktif edilerek MB0 alanına transfer edilir.m10.0 ın normalde kapalı kontağından kabin bir kere hareket ettikten sonra tekrar çağırma sinyali alınması önlenir. SAYFA: 29

ARİTMETİK OPERASYON KOMUTLARI VE UYGULAMALARI PLC cihazları iç bünyelerinde kullanıma hazır olarak sunulan çarpma, bölme, toplama, çıkarma, karekök alma ve PID gibi fonksiyonlara da sahiptirler. Bu fonksiyonları kullanmak suretiyle kumanda ve kontrol sisteminde alan, hacim, uzunluk ölçümü, devir sayısı ölçümü, faktöriyel hesaplama, türev, integral gibi işlemleri yaptırmak mümkün olmaktadır. 1- TAM SAYI TOPLAMA : ( ADD_I ) Bu fonksiyon, iki tane 16-bit tam sayıyı (IN1, IN2), toplar ve sonucu 16 bit olarak çıkışa (OUT) yazar, yani: IN1 + IN2 = OUT İki 16-bit sayının toplamı 16-bitten büyük (OUT'a sığmayacak kadar uzun)olabilir. Bu durumda sadece sağdaki 16-bit OUT'a yazılır ve SM 1.1 (taşma) biti set edilir. 2- TAM SAYI ÇIKARTMA : Bu fonksiyon, iki tane 16-bit tam sayıyı (IN1, IN2) çıkartır ve sonucu 16 bit olarak çıkışa (OUT) yazar. yani: IN1 - IN2 = OUT OUT negatif olursa SM 1.2 (negatif) biti set edilir. SAYFA: 30

3- TAM SAYI ÇARPMA : Bu fonksiyon, iki tane 16-bit tam sayıyı (IN1, IN2) çarpar ve sonucu 32 bit olarak çıkışa (OUT) yazar, yani: IN1 * IN2 = OUT 4- TAM SAYI BÖLME : Bu fonksiyon, iki 16-bit tam sayıyı (IN1, IN2) böler ve sonuç ve kalanı 32 bit olarak OUT'a yazar, yani IN1/IN2=0UT. OUT double word'ünün küçük word'ü kalanı, büyük word'ü bölümü içerir. YUVARLAMA VE KISALTMANIN ÇALIŞMA ŞEKLİ : Yuvarla komutu (ROUND) : IN de yer alan reel sayıyı double tamsayıya dönüştürür ve sonucu OUT a yazar. Eğer kesirli kısım 0,5 veya daha büyükse, bu kısım yukarıya doğru yuvarlanır. SAYFA: 31

Kısalt komutu (TRUNC) : IN de yer alan reel sayıyı double tamsayıya dönüştürür ve sonucu OUT a yazar. Sayının sadece tamsayı kısmı dönüştürülür, kesir kısmı dikkate alınmaz. Akümülatörler: ( AC ) Akümülatörler, okuma ve yazma yapilabilecek hafiza benzeri alanlardir. Örnegin, bir altprograma parametre atamak için çeşitli degişkenleri akümülatörler içine yazar ve altprogramda bu degerleri kullanabilirsiniz.s7 200 de dört adet 32 bit akümülatör bulunur (AC0,AC1,AC2 ve AC3).Akümülatör içerigine bayt, word veya double word olarak erişebilirsiniz. Akümülatörde kullanacaginiz verinin boyutu kullandiginiz komutla ilişkilidir. Resim 4 7 de görülecegi gibi, bayt veya word erişimi halinde akümülatörün En Düşük Anlamli Bayti (LSB=Least Significant Byte)veya 2 bayti kullanilir. Akümülatöre double word olarak eriştiginiz zaman tüm 32 bitini de kullanmiş olursunuz. SAYFA: 32

ARİTMETİK OPERASYONLARIN DATA BLOKLARI İLE GERÇEKLEŞTİRİLMESİ : Aşağıdaki elektrik devresi için devreden geçen toplam akım (I), R1 direnci üzerinde düşen gerilim (U1), R2 direnci üzerinde düşen gerim (U2) değerlerini PLC cihazı ile hesaplayalım : Uygulama planı : R1 = 3 R2 = 2 İstenenler : I U1 U2 I =? U1 =? U2 =? U = 10 V Problemin kavranması : I0.0 giriş adresi uyarıldığında QB0 çıkış baytında hesaplanmış akım değeri ikilik sistem karşılığı olarak okunabilecektir. ( I = U / R1+R2 ) I0.1 giriş adresi uyarıldığında QB0 çıkış baytında hesaplanmış U1 gerilim değeri ikilik sistem karşılığı olarak okunabilecektir. ( U1 = I x R1 ) I0.2 giriş adresi uyarıldığında QB0 çıkış baytında hesaplanmış U2 gerilim değeri ikilik sistem karşılığı olarak okunabilecektir. ( U2 = I x R2 ) Giriş anahtarlarından hiç birisi uyarılmamışsa QB0 çıkış baytı sıfır değerini göstermelidir. ( QB0 = 0 ) Çözüm : Problemde verilen değerler ( U, R1, R2 ) bir data alanında tanımlanmalıdır. Bunun için önce bir data blok açılarak verilen değerler 16 bitlik word alanlarına yüklenir. Data blok : Sembol Tablosu : Program taraması icra edilirken VW0, VW2, VW4 ile karşılaşıldığında program data blok içersine yönelerek ilgili değerler data hedefinden okunur. Bundan sonra çarpma veya bölme işlemleri yapılır. SAYFA: 33

SAYFA: 34

SAYFA: 35

KESME ( INTERRUPT ) İLE İŞLETİLEN ALTPROGRAMLAR Otomasyon sisteminde PLC çevrim süresinden daha kısa zamanlı sinyaller bulunabilir. Bu gibi durumlarda PLC çevrim süresinden daha kısa olan bu sinyallerin tümünün PLC tarafından algılanamayacağı bir gerçektir. O halde bu gibi durumlarda mevcut tarama akışı bir ön şarta bağlı olarak kesilerek ( Interrupt ) bir alt program işletilir. Aciliyeti olan sinyaller bu bölümde işletilir. Daha sonra ana programa ( MAIN ) geri dönülür. Interrupt : Program akışının kesilmesine ve özel bir alt programın çalışmasına neden olan olgudur. Kesme ( Interrupt ) ile işletilen alt programlar; PLC tarama çevrimi süresine göre daha kısa sürelerde oluşan yüksek hızlı elektriksel sinyallerin değerlendirilmesi veya sabit süreli işlemlerin gerçekleştirilmesi amacıyla kullanılır. Tüm kesme ( ınterrupt ) alt programlarında kullanılan başlıca komutlar şunlardır: ATCH KOMUTU ( ınterrupt ilişkilendir ) : Açıklama: ATCH : Bir interrupt olgusunu (EVENT) bir interrupt alt programı numarasıyla (INT) ilişkilendirir, ve interrupt olgusuna izin verir. INT : İnterrupt alt programı (n) başlangıcını gösterir. ( Örneğin; INT0, INT1, INT5 VB. ) EVENT : Kesme olayının numarası. Her kesme olayı farklı bir sayı ile tanımlanır. Örneğin CPU 222 için 0-12, 19-23, 27-33 adet bayt lık kesme olayı numarası mevcuttur. ENI KOMUTU : Bütün kesme ( ınterrupt ) alt programlarının işletilmesine izin verir. DISI KOMUTU : Bütün kesme ( ınterrupt ) alt programlarının işletilmesine son verir. RETI KOMUTU : Her kesme alt programı RETI kesme komutu ile sonlandırılır. SAYFA: 36

Interrupt Olguları Öncelik Tablosu : * İletişim çift yönlü (half-duplex) olduğundan, hem iletme hem alma aynı önceliğe sahiptir. **Eğer olgu 12 (HSC0 sayma değeri=ayar değeri) bir interruptla ilişkilendirilmişse, olgu 1 ve olgu 0 kullanılamaz. Tersi de doğrudur. Interruptlar yukarda belirtilen öncelikler geçerli olmakla beraber ilk gelenin işlemi bitmedikçe diğerine geçilmez. Yani aynı anda sadece bir interrupt olgusu gerçeklenir. Örneğin, zaman kontrollu bir interrupt çalışıyorsa, sona ermeden iletişim ya da dijital interruptlar işlenmez ama kaybolmaz da, sırada bekletilir. SAYFA: 37

ZAMANA BAĞLI KESME ( INTERRUPT ) İŞLEMLERİ : Zamana bağlı olarak çalışan kesme alt programları, CPU 222 için 10 ve CPU 224 için 10 ve 11 sayıları ile atanan kesme alt programları ile işletilir. Zaman bağlı kesme işlemlerinin başlatılabilmesi için alt programın işletilme süresinin özel bellek alanlarında tanımlanması gerekir. Bu alanlara 1 ile 255 arasında tam sayı değerler yazılır ve milisaniye olarak alt programın işletilme süresi belirlenir. Özel hafıza baytları SMB34 ve SMB35, 0 ve 1 numaralı zaman kontrollü interruptların değerlerini girmek içindir. Girilen sürede bir (elbette interruptlar doğru olarak tanımlanmış ve izin verilmişse) kullanıcı programında interrupt oluşur. Bu zamanları değiştirmek için interrupt ı değişim yapıldıktan sonra tekrar ilişkilendirmek gerekir. SM Baytları Açıklama SMB34 Zaman kontrollü interrupt 0 için zaman değeri (1 ila 255 ms) SMB35 Zaman kontrollü interrupt 1 için zaman değeri (1 ila 255 ms) Zaman Kontrollu Interrupt Değerleri : 10 Timed ınterrupt 0 11 Timed ınterrupt 1 21 Timer T32 CT=PT ınterrupt 22 Timer T96 CT=PT ınterrupt Zamana bağlı kesme alt programları genellikle, sayısal kontrol ve filtre yazılımlarını gerçeklemek için kullanılır. Bilindiği gibi sayısal kontrol algoritmaları, belirli örnekleme zamanları için tasarlanır ve yazılan kontrol algoritmasının öngörülen örnekleme zamanı ile çalışması gerekir. Örneğin; örnekleme zamanı 100 msn. Seçilerek tasarlanan bir sayısal kontrol yazılımı için her 100 ms de bir işletilen bir alt program kullanılır. Zaman kontrollü interrupt uygulaması-1 : Q0.0 çıkışını 255 ms aralıklarla çalıştıran bir flaşör tasarımını zaman kontrollü interrupt uygulaması ile gerçekleştirelim: Zaman kontrollü interrupt 1 için zaman değeri olan 255 ms değeri SMB35 özel bellek alanına yazılır. İnterrupt olayı 11, interrupt rutini 0 ile ilişkilendirilir. ENI komutuyla tüm interruptlara izin verilir. SAYFA: 38

SAYFA: 39

Zaman kontrollü interrupt uygulaması-2 : Her 100 ms. De bir AIW0 dan ısı bilgisi okunacaktır. SAYFA: 40

OLAYA BAĞLI KESME ( INTERRUPT ) İŞLEMLERİ: Tipik olarak bir hızlı sayıcı dönen bir şafta bağlanmış artımsal enkoderden sinyal alır. Enkoder, tur başına belirli sayıda darbe gönderir ve bazıları her turda bir defa da sıfırlama (referans) sinyali verir. Enkoderden gelen bu sayma darbeleri ve reset sinyali hızlı sayıcının girişlerini oluşturur. Uygulamaların çoğunda herbir enkoder için birden çok ayar değeri gerekmektedir. Bu durumda, önce ilk ayar değeri hızlı sayıcıya yüklenir ve sayma değeri ayar değerinden küçük iken arzu edilen işlemler yapılır. Sayma değeri ayar değerine ulaştığında veya bir reset girişi geldiğinde interrupt oluşturulur. Bu interrupt geldiğinde hem çıkışlarda yapılması gereken değişiklikler yapılır, hem de hızlı sayıcı yeni ayar değeriyle yüklenir. Yeni ayar değeri yeni sayma değerine eşit olduğunda yine bir interrupt oluşturulabilir ve bu böylece devam ettirilebilir. İnterrupt lar hızlı sayıcıların sayma hızlarından çok daha hızlı işlenebildikleri için bu tarz bir uygulama çok hassas darbe ölçümünü sağlar, üstelik PLC tarama hızı da hemen hemen hiç etkilenmez. Her yeni ayar değerinin yüklenmesi durum kontrolunun kolaylıkla yapılabilmesi için ayrı bir interrupt altprogramında gerçekleştirilir. (Ancak, tüm interrupt olaylarının aynı altprogramda işlenmesi de mümkündür.) Encoder : Encoderler kontrol edilecek olan sistemin uygun bir tahrik noktasına akuple edilirler. Encoder milinin döndürülmesiyle mil ucuna bağlı bulunan delikli disk bir ışın demetini sürekli olarak keser. Bu şekilde bir devir için disk üzerindeki delik sayısına bağlı olarak çok sayıda 1 ve 0 şeklinde sayısal işaretler üretilmiş olunur. Deliklerin sayısı ne kadar fazla ise sistemin kontrolü hassaslaşır. Bu sayı, 8, 16, 24, 32,...360 olabilir. Bu nedenle disk üzerine birbirine göre kaygın fazda 2 veya 3 değişik delikli gruplar yerleştirilir. Bu şekilde yüzlerce sayıda sayısal işaretler kaygın fazlı olarak PLC giriş ünitesine girilir. OUTPUT PLC INPUT Sürücü Işın vericisi Işın alıcısı Delikli disk Encoder Motor Dönen mil Encoder cihazından PLC giriş ünitesine gelen sayısal işaretlerin frekansı yüksek olur. Genelde 20 KHZ ile 30KHz aralığında olan bu sinyallerin normal sayıcı fonksiyonları ile sayılması mümkün olmaz. Çünkü normal sayıcılar ancak PLC tarama hızından daha düşük frekanslı sinyalleri sayabilirler. Bunun doğruluğunu ispat edebilmek gayesiyle bir deney yapalım : Encoder cihazımızı +24 V luk bir DC motoru ile sürelim. Encoder cihazımızın çıkışlarındaki herhangi bir fazdan PLC cihazımızın I0.0 girişine sinyal aktaralım. DC motorumuza +24 volt uygulayarak Encoder cihazımızın dönmesini sağlayalım. SAYFA: 41

İleri Seviye PLC ( SIMATIC S7200 ) Encoder in ürettiği sayısal işaretleri sayabilmek için aşağıdaki program parçasını ana program sayfasına (MAIN) yazalım. OUTPUT PLC INPUT Ayarlı DC gerilim kaynağı I0.0 + -- Uygulama planı Encoder Motor MAIN I0.0 giriş adresine Encoder cihazından gelen her sayısal işaret, sayıcının içeriğini bir arttırsın. I0.1 girişi 1 yapıldığında tüm sayma değerleri sıfırlansın. Sayıcıya 1000 sayma değeri yüklensin. Yukarıdaki program parçasını PLC cihazımıza yükleyiniz. LADDER C1 STL I0.0 I0.1 Encoder bilgisi reset CU R CTU LD I0.0 LD I0.1 CTU C1, +1000 +1000 PV Yazılım menüsünden program status ( test ) ikonunu işaretleyiniz. Başlangıçta I0.0 adres girişini el ile uyararak sayıcı sayma değerlerinin değiştiğini gözleyiniz. Bu defa Encoder cihazınızı DC motoru ile tahrik ederek döndürünüz. C1 sayıcısı sayma değerlerini gözleyiniz. Encoder yüzlerce devir yapmasına karşılık sayıcı değerleri bunu takip ediyor mu? Takip etmiyorsa neden? SAYFA: 42

Hızlı Sayıcıların Çeşitleri: İleri Seviye PLC ( SIMATIC S7200 ) Aynı çalışma şeklinde seçilmiş tüm hızlı sayıcılar aynı şekilde davranır. Sayıcıların dört çalışma şekli bulunmaktadır: 1- Dahili yön kontrollu tek fazlı (bir anda sadece yukarı veya aşağı sayar), harici yön kontrollu. 2- Tek fazlı. 3-2 sinyal girişli 2 fazlı (aynı anda hem yukarı, hem aşağı sayabilir) 4- A/B sinyalli enkoder tipi sayıcı. Her sayıcının tüm bu çalışma şekillerini desteklemediğine dikkat ediniz (örneğin HSC0 enkoder sayıcısı olarak kullanılamaz). Her tipte şu özellikleri de seçebilirsiniz: Reset girişi olmadan, start girişi olmadan, reset girişli fakat start girişsiz veya hem reset hem de start girişli. Reset girişi aktive edildiğinde anlık değeri siler ve reset kalkıncaya kadar sayıcı bu konumda kalır. Start girişi aktive edildiğinde sayıcının saymasına izin verilir. Kaldırıldığında anlık değer sabit tutulur ve tüm sayma girişleri ihmal edilir. Start yokken reset gelirse, reset dikkate alınmaz ve anlık değer değişmez. Reset varken start girişi gelirse anlık değer sıfırlanır. Hızlı sayıcıyı kullanmaya başlamadan önce mutlaka HDEF (Hızlı Sayıcı Tanımlama) komutuyla sayıcının çalışma şekli seçilmelidir. HDEF komutu her sayıcı için sadece bir defa kullanılabileceğinden, SM0.1 biti (sadece ilk taramada 1 olan bit) yoluyla işlenmesi uygun olacaktır. Bir Hızlı Sayıcıyı Programlama: Sayıcıyı programlamak için HSC Komutu Yardımcı Aracının kullanılmasını önermekteyiz. Yardımcı araç şu bilgileri kullanır: Sayıcının numarası ve çalışma şekli, ayar değeri, anlık değer ve başlangıç sayma yönü. Yardımcı aracı çalıştırmak için Tools > Instruction Wizard menü komutunu ve açılan pencereden HSC yi seçin. Hızlı sayıcıyı programlarken aşağıdaki işlemler yapılır: 1- Sayıcıyı ve çalışma şeklini tanımlama. 2- Kontrol baytını ayarlama. 3- Anlık (başlangıç) değeri ayarlama. 4- Ayar (hedef) değerini ayarlama. 5- İnterrupt altprogramı atama. 6- Hızlı sayıcıyı aktive etme. SAYFA: 43

Çalışma Şeklini ve Girişleri Tanımlama: Hızlı Sayıcı Tanımlama komutuyla çalışma şekli ve girişler tanımlanır. Tablo 6 25 de hızlı sayıcılarla ilişkili sayma, yön seçme, reset ve start amaçlı kullanılacak girişler gösterilmektedir. Aynı giriş iki farklı işlev için kullanılamaz, ancak seçilen çalışma şeklinde kullanılmayan giriş başka amaçlarla değerlendirilebilir. Örneğin, eğer HSC0 mod 1 olarak kullanılıyorsa (I0.0 ve I0.2 yi kullanmaktadır), I0.1 HSC3 için veya yükselen kenar interrupt ı olarak veya sıradan bir giriş olarak kullanılabilir. HSC0 ın her zaman I0.0 ı ve HSC4 ün her zaman I0.3 ü kullandığına dikkat ediniz. Yani, bu sayıcılar programlanmışsa sözkonusu girişler başka amaçlarla kullanılamaz. HSC Çalışma Şekli Örnekleri : Resim 6 21 ila Resim 6 25 arasındaki şekillerde çalışma şekli seçimine göre sayıcının ne şekilde işlev gördüğü gösterilmektedir. SAYFA: 44

Mod 6, 7, ve 8 de yukarı ve aşağı sayma girişlerinin gelişi arasındaki zaman 0.3 mikrosaniyeden kısa ise, hızlı sayıcı bu girişlerin aynı anda geldiği şeklinde değerlendirme yapar. Bu durumda, anlık değer değişmez ve yön değişimi gösterilmez. Yukarı ve aşağı sayma girişleri arasındaki fark bu süreden uzun ise böyle bir durum oluşmaz. Her iki olayda da sayma değeri yanlış olmaz ve bir hata oluşmaz. SAYFA: 45

SAYFA: 46

Olaya bağlı kesme alt programları, her kesme olayı için PLC nin belirlenmiş girişlerini ( ınput ) kullanır. 0,2,4,6 şeklinde çift sayılarla ifade edilmiş olan kesme olguları ilgili giriş adresinin her 0 dan 1 e geçiş olgusunda ( sinyalin yükselen kenarında ) ınterrupt olgusunu işletir. CPU 222 için, yalnız 0 ve 1 değerleri atanmış kesme olaylarına ilişkin alt programlar kullanılır. 0 sayılı kesme olayı, PLC I0.0 giriş noktasına uygulanan işaretin yükselen kenarı ile, 1 sayılı kesme olayı PLC I0.0 giriş noktasına uygulanan işaretin düşen kenarı ile etkin duruma getirilir. Her iki kesme olayı için hangi alt programın işletileceği ATCH komutu ile belirtilir. SM0.1 ATCH EN İnterrupt başlangıcı 0 INT İnterrupt alt program numarası 12 EVENT 12 numaralı ınterrupt olgusu Sinyalin yükselen kenarında Interrupt olguları : 0 numaralı olgu Yükselen kenar kesmesi, I0.0 girişini kullanır. 2 numaralı olgu Yükselen kenar kesmesi, I0.1 girişini kullanır. 4 numaralı olgu Yükselen kenar kesmesi, I0.2 girişini kullanır. 6 numaralı olgu Yükselen kenar kesmesi, I0.3 girişini kullanır. Aynı şekilde 1,3,5,7 şeklindeki tek sayılarla ifade edilmiş olan kesme olguları, ilgili giriş adresinin (ınput) her 1 den 0 a geçiş olgusunda (sinyalin düşen kenarında) ınterrupt olgusunu işletir. Sinyalin düşen kenarında Interrupt olguları : 1 numaralı olgu Düşen kenar kesmesi, I0.0 girişini kullanır. 3 numaralı olgu Düşen kenar kesmesi, I0.1 girişini kullanır. 5 numaralı olgu Düşen kenar kesmesi, I0.2 girişini kullanır. 7 numaralı olgu Düşen kenar kesmesi, I0.3 girişini kullanır. 12 numaralı olgu HSC0 için CV=PV SAYFA: 47

Kontrol Bayt ının Ayarlanması: Sayıcıyı seçtikten ve modu tanımladıktan sonra sayıcının dinamik parametrelerini programlayabilirsiniz. Her hızlı sayıcının aşağıdaki işlemlere izin veren bir kontrol baytı bulunur: Sayıcıyı yetkilendirme veya durdurma. Yön kontrolü (sadece 0, 1 ve 2 modları için) veya tüm diğer modlarda başlangıç yön kontrolü Anlık değeri sayıcıya yüklemek Ayar değerini sayıcıya yüklemek Kontrol baytının ve ilgili anlık ve ayar değerlerinin sayıcıya aktarılması HSC komutunun işlenmesi yoluyla olur. Tablo 6 27, bu kontrol bitlerini açıklamaktadır. Anlık Değerlerin ve Ayar Değerlerinin Girilmesi : Her hızlı sayıcının 32 bitlik bir anlık değeri ve 32 bitlik bir ayar değeri vardır. Bu her iki değer de işaretli tamsayı (duble tamsayı) değerlerdir. Yeni bir anlık veya ayar değeri girmek için kontrol baytını ve anlık ve/veya ayar değerini saklayan baytları değiştirmek, ardından da HSC komutunu işletmek gereklidir. HSC komutu işletilmeden bu değişiklikler hızlı sayıcıya aktarılmaz. Tablo 6 28 de anlık ve ayar değerlerini saklayan özel hafıza baytları gösterilmektedir. Hızlı sayıcının herhangi bir andaki sayma (anlık) değeri HC ( (High Speed Counter Current) operandını takip eden sayıcı numarasının (0, 1, 2, 3, 4 veya 5) kullanılmasıyla okunabilir. Anlık değere her türlü komutla (karşılaştırma, taşıma) erişilebilir, ancak buraya değer yazma yalnızca HSC komutuyla yapılabilir. SAYFA: 48

HSC0 YÜKSEK HIZLI SAYICISI ( HIGH-SPEED COUNTER ) : HSC0 yüksek hız sayıcısı, PLC I0.0 giriş adresine uygulanan ve maksimum frekansı 2 KHz olan sayısal işaretlerin ileri-geri sayılması ve buna bağlı olarak gerekli kumanda işaretlerinin üretilmesi amacıyla kullanılır. PLC cihazlarının her bir girişi yüksek hızlı sayma sinyallerini kabul etmez. Bu nedenle her PLC cihazı için tanımlanmış HSC girişleri mevcuttur. HSC0 HSC1 HSC2 Açıklama SM37.0 SM47.0 SM57.0 HSC0 için; HDEF çalıştırıldıktan sonra kullanılmaz SM37.1 SM47.1 SM57.1 HSC0 için; HDEF çalıştırıldıktan sonra kullanılmaz SM37.2 SM47.2 SM57.2 HSC0 için; HDEF çalıştırıldıktan sonra kullanılmaz SM37.3 SM47.3 SM57.3 Sayma yönü kontrol biti:0 = aşağı say1 = yukarı say SM37.4 SM47.4 SM57.4 HSC sayma yönünü yazmak:0 = güncelleme1 = güncelle SM37.5 SM47.5 SM57.5 HSC yeni ayar değerini güncellemek: 0 = güncelleme 1 = güncelle SM37.6 SM47.6 SM57.6 HSC yeni anlık değeri güncellemek: 0 = güncelleme 1 = güncelle SM37.7 SM47.7 SM57.7 HSC yi çalıştırmak:0 = çalıştırma1 = çalıştır High - Speed Counter Kullanılabilir girişler HSC0 I0.0 I0.1 I0.2 HSC1 I0.6 - I0.7 - I1.0 - I1.1 HSC2 I1.2 I1.3 1.4 I1.5 HSC3 I0.1 HSC4 I0.3 I0.4 I0.5 HSC5 I0.4 HSC0 yüksek hız sayıcısı parametreleri : Bu sayıcının kullanılabilmesine ilişkin parametreleri doğru olarak girmek sayıcının doğru ve güvenilir çalışması bakımından önemlidir. Bu parametreler şu şekildedir : 1- Sayıcının yön bilgisi 2- Sayıcı içeriği. 3- Sayıcı karşılaştırma (preset ) değerlerinin güncelleştirilmesi ve sayıcının etkin duruma getirilmesi. SAYFA: 49