İLERİ PLC & OTOMASYON
TEORİK & UYGULAMALI
EĞİTMEN
• AD SOYAD : FAHRETTİN ERDİNÇ
• TECRÜBE : 1996’DAN BERİ
• OKUL : 1995 DEÜ ELK-ELKTR MÜH.
LÜTFEN DİKKAT!
• SINIFTAKİ BAŞARIMIZIN MAKSİMUM DÜZEYDE OLMASI İÇİN:
• DEVAMSIZLIK YAPMAYINIZ; KAÇIRDIĞINIZ DERSLER SONRAKİ KONULARA TEMEL OLUŞTURDUĞUNDAN SONRAKİ DERSLERİ DE ANLAYAMAZSINIZ
• DERSLERE ZAMANINDA GELİNİZ; KAÇIRILAN DERSLERİN TELAFİSİNİN YAPILMADIĞINI UNUTMAYINIZ
• ANLAMADIĞINIZ KONU OLDUĞUNDA HEMEN EĞİTMENE SORUNUZ
• DERS SLAYTLARI VE DİĞER DÖKÜMANLARI SUNUCUDAN ALINIZ
• Windows Gezgini ->Adres Çubuğu -> \\sunucu\ depo\
LÜTFEN DİKKAT!
• DERSLERDE CEP TELEFONU V.B. CİHAZLARI KAPATINIZ
• EĞİTMEN DERS ANLATIRKEN TELEFON, MAKYAJ V.B. ŞEYLERLE İLGİLENMEYİNİZ
• SINIFIN DİKKATİNİ DAĞITACAK DAVRANIŞLARDAN KAÇININIZ
LÜTFEN DİKKAT!
• LABORATUVARDAKİ BİLGİSAYAR V.B.
CİHAZLARIN BOZULMAMASI İÇİN:
• SINIFTA YİYECEK-İÇECEK TÜKETMEYİNİZ; SIVI VE SUSAM GİBİ MADDELER CİHAZLARA ZARAR
VERİR VE DÜZGÜN ÇALIŞMASINI ENGELLER
• CİHAZLARI KURCALAMAYINIZ; CİHAZDA ARIZA
OLDUĞUNU DÜŞÜNÜYORSANIZ BİR KAĞIDA NOT BIRAKINIZ
LÜTFEN DİKKAT!
• ADI GEÇEN TÜM MARKA VE LOGOLAR İLGİLİ FİRMALARIN TESCİLLİ ÜRÜNLERİDİR
– SIEMENS, TIA PORTAL, MICROWIN, SIMATIC, SIMATIC MANAGER, ABB, WEINTEK VE DİĞER MARKALAR VE LOGOLARI İLGİLİ FİRMALARIN TESCİLLİ ÜRÜNLERİDİR
LÜTFEN DİKKAT!
• ADI GEÇEN TÜM MARKA VE LOGOLAR İLGİLİ FİRMALARIN TESCİLLİ ÜRÜNLERİDİR
– ADOBE, PHOTOSHOP, BRIDGE VE DİĞER
MARKALAR VE LOGOLARI ADOBE FİRMASININ TESCİLLİ ÜRÜNLERİDİR
LÜTFEN DİKKAT!
• YAZILIM İSTEMEYİNİZ. KORSAN YAZILIM SUÇTUR; HAPİS VE PARA CEZASI VARDIR
• LİSANSLI OLARAK SATIN ALINAN YAZILIMLARIN YÜKLENMESİNDE YARDIMCI OLUNABİLİR
KONULAR
• SAYI SİSTEMLERİ & DÖNÜŞÜMÜ
• BIT LOJİK KOMUTLARI
• VERİ TAŞIMA & DÖNDÜRME
• MATEMATİKSEL İŞLEMLER
• DOĞRUSAL / YAPISAL PROGRAMLAMA & ALTPROGRAMLAR
• PALS FONKSİYONLARI, PTO & PWM
• GERÇEK ZAMAN SAATİ UYGULAMALARI
• ANALOG PORTLAR, ANALOG SENSÖRLER VE ANALOG SİNYAL İŞLEME
• GERÇEK ZAMAN SAATİ UYGULAMALARI
• OPERATÖR PANELLER & OPERATÖR PANEL UYGULAMALARI
• HIZLI SAYICI & ENCODER UYGULAMALARI
SAYI SİSTEMLERİ
SAYI SİSTEMLERİ
• ELEKTRONİK VE DİJİTAL SİSTEMLER İKİLİ
SAYILARI TEMEL ALARAK ÇALIŞTIKLARI İÇİN
ÖZELLİKLE İKİLİ SAYILAR OLMAK ÜZERE, ONLU VE ONALTILI SAYI SİSTEMLERİNİ BİLMEK ÇOK ÖNEMLİDİR.
• NOT:
– BİR SAYININ SIFIRINCI KUVVETİ BİRDİR.
SIFIR VE BİR
• SİNYAL VAR YADA YOK DURUMUDUR.
YOK VAR
0 0 1 1 0 1 0 0 0 1 0 0
V
t
BIT
İKİLİ SAYILAR
• 0 VE 1 LERDEN OLUŞAN, PC’LERİN İLETİŞİM KURMASINDA KULLANILAN SAYI SİSTEMİDİR.
• ÖRNEĞİN;00100011
• DİJİTAL CİHAZLAR SADECE 0 VE 1’LERİ ALGILAYABİLDİĞİ İÇİN,
BIT
• İKİLİ SAYILARI OLUŞTURAN HER RAKAMA BINARY DIGIT KELİMELERİNİN KISALTILMIŞI OLAN BIT DENİR.
• BİR BİT 0 VEYA 1 OLABİLİR.
• BİLGİSAYARDA EN KÜÇÜK BİLGİ BİRİMİ BİTTİR.
• 11010011 BİT
NIBBLE
• 4 BİTİN BİR ARAYA GELMESİYLE NIBBLE OLUŞUR.
• ESKİ 4 BİTLİK İŞLEMCİLER ZAMANINDA ÇOK KULLANILIYORDU.
• ARTIK 4 BİTLİK İŞLEMCİLER PEK ÜRETİLMEDİĞİ İÇİN FAZLA KULLANILMIYOR.
BYTE
• 8 BİTİN BİR ARAYA GELMESİYLE BYTE OLUŞUR.
• BİR BYTE İÇERİSİNDE 0-255 ARASINDA OLMAK ÜZERE 256 DEĞER OLABİLİR.
– (İKİLİK) 00000000 = 0 (ONLUK) – (İKİLİK) 11111111 = 255 (ONLUK)
• GÖRÜLDÜĞÜ GİBİ BİR BAYT’IN ALABİLECEĞİ EN YÜKSEK DEĞER 255 VE EN DÜŞÜK DEĞER 0’DIR.
WORD
• 16 BİTİN BİR ARAYA GELMESİYLE WORD OLUŞUR.
– (İKİLİK) 00000000 00000000 = 0 (ONLUK)
– (İKİLİK) 11111111 11111111 = 65535 (ONLUK)
• BİR WORD’UN ALABİLECEĞİ EN YÜKSEK DEĞER 65535 VE EN DÜŞÜK DEĞER 0’DIR.
• BU DA BİR WORD İÇERİSİNDE 65536 FARKLI DEĞER SAKLANABİLECEĞİ ANLAMINA GELİR. (216=65536)
DWORD
• 32 BİTİN BİR ARAYA GELMESİYLE LONG OLUŞUR.
• 0 İLE 2
32ARASI DEĞERLER ALABİLİR.
BIT, BYTE, WORD & DWORD
HAFIZA
0 1 1 0 0 0 1 1 1 1 0 0 0 1 1 0 1 0 1 0 0 0 1 1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 1 1 1 0 1 0 0 0 1 1
BIT BYTE WORD
WORD
DWORD
ONLUK SAYI SİSTEMİ
• GÜNLÜK HAYATIMIZDA KULLANDIĞIMIZ SAYI SİSTEMİDİR.
• 0,1,2, … ,9 RAKAMLARINDAN OLUŞUR.
• (20)10
• (825)10
• (3359)10
İKİLİ SAYI SİSTEMİ
• MİKROİŞLEMCİLERİN VE DİĞER TÜM DİJİTAL AYGITLARIN KULLANDIĞI SAYI SİSTEMİDİR.
• 0 VE 1 RAKAMLARINDAN OLUŞUR.
• (10)2
• (1001)2
• (10011101)2
ONALTILI SAYI SİSTEMİ
• ÖZELLİKLE BELLEKLERİ ADRESLEMEK İÇİN KULLANILAN SAYI SİSTEMİDİR.
• AYRICA ASSEMBLY’DE KAYITÇILARA DEĞER YÜKLEMEK İÇİN DE KULLANILIR.
• 0,1,2, … , 9, A, B, C, D, E, F KARAKTERLERİNDEN OLUŞUR
• (1A)16
• (3B5)16
SAYI SİSTEMLERİNİN ÇEVRİLMESİ
• BAZEN SAYI SİSTEMLERİ ARASINDA
ÇEVİRMELER YAPMAK ZORUNDA KALACAĞIZ.
• İKİLİ SAYILARI ONLUYA
• ONLU SAYILARI ANALTILIYA
• ONALTILI SAYILARI İKİLİYE
İKİLİ SAYILARIN ONLUK SAYI SİSTEMİNE ÇEVRİLMESİ
• SAYIYI 2’NİN KUVVETLERİ OLARAK YAZIP SONUÇLARI TOPLAMAMIZ GEREKİYOR.
• (10)2=1x21+0x20=2+0=(2)10
• (101)2=1x22+0x21+1x20=(5)10
ONLUK SAYILARIN İKİLİK SAYI SİSTEMİNE ÇEVRİLMESİ
• SAYIYI SÜREKLİ OLARAK BÖLÜM BİTENE
KADAR 2’YE BÖLMEMİZ VE KALANI ALMAMIZ GEREKMEKTEDİR.
• (5)10=(101)2
• (28)10=(11100)2
• (65)10=(1000001)2
İKİLİ SAYILARIN ONALTILIK SAYI SİSTEMİNE ÇEVRİLMESİ
• SAYIYI 4 BİTLİK GRUPLARA AYIRIP HER GRUBUN ONALTILI EŞİDİNİ YAZMAMIZ GEREKİR.
İKİLİ SAYILARIN ONALTILIK SAYI SİSTEMİNE ÇEVRİLMESİ
• 0000 – 0
• 0001 – 1
• 0010 – 2
• 0011 – 3
• 0100 – 4
• 0101 – 5
• 0110 – 6
• 0111 -- 7
• 1000 – 8
• 1001 – 9
• 1010 – A
• 1011 – B
• 1100 – C
• 1101 – D
• 1110 – E
• 1111 -- F
İKİLİ SAYILARIN ONALTILIK SAYI SİSTEMİNE ÇEVRİLMESİ
• 1001 11112=9F16
• 1110 1111 0000 11102=EF0E16
ONALTILIK SAYILARIN İKİLİ SAYI SİSTEMİNE ÇEVRİLMESİ
• ONALTILI SAYININ HER KARAKTERİ İÇİN EŞİDİ OLAN 4 BİTLİK İKİLİ SAYI YAZILIR.
• A916=1010 10012
• FE3C16=1111 1110 0011 11002
ONALTILIK SAYILARIN ONLUK SAYI SİSTEMİNE ÇEVRİLMESİ
• SAYIYI 16’NIN KUVVETLERİ İLE ÇARPIP SONUÇLARI TOPLUYORUZ.
• EE16=14x161+14x160
• 2AC16=2x162+10x161+12x160
ONLUK SAYILARIN ONALTILIK SAYI SİSTEMİNE ÇEVRİLMESİ
• SAYIYI BÖLÜM BİTENE KADAR 16 İLE BÖLÜNÜZ VE KALANI ALINIZ.
• (238)10=(EE)16
• (684)10=(2AC)16
PLC ÇALIŞMA MANTIĞI & HAFIZALAR
PLC NASIL ÇALIŞIR?
• S7-200 SÜREKLİ OLARAK GİRİŞE GELEN
SİNYALLERİ OKUR, GEREKEN İŞLEMİ YAPAR VE SONUÇLARI ÇIKIŞA GÖNDERİR.
• PLC, SAHİP OLDUĞU HIZA BAĞLI OLARAK, BU İŞLEMİ SANİYEDE YÜZLERCE DEFA YAPABİLİR.
ÇEVRİM
PROGRAM
GİRİŞ
ELEMANLARI ÇIKIŞ
ELEMANLARI
BUTONLAR SENSÖRLER SINIR
ANAHTARLARI OPTİK
ALGILAYICILAR
MOTORLAR
SELENOİD VALFLER KONTAKTÖRLER
GÖSTERGE LAMBALARI
ÇEVRİM
S7-200, İŞLEMLERİ BİR TARAMA DÖNGÜSÜNDE GERÇEKLEŞTİRİR
BIT LOJİK KOMUTLARI
• KONTAKLAR
• BOBİNLER
• P/N KONTAKLAR
• KİLİTLEME DEVRELERİ
– KLASİK, S/R BOBİMLERİ, SR/RS FLİP-FLOP
• SAYICILAR
– CU, CD, CTUD
• KARŞILAŞTIRMA KOMULARI
• ZAMANLAYICILAR
– TON, TOF, TONR
UYGULAMA
• PLC’NİN I0.0 GİRİŞİNE BASINÇ ŞALTERİ
BAĞLANMIŞTIR. BASINÇ ŞALTERİ DEĞİŞİK
ZAMANLARDA 60SN KAPALI KALDIĞINDA Q0.0 ÇIKIŞINA BAĞLI ALARM ÇALMAYA BAŞLASIN
• ALARM EN FAZLA 5 DAKİKA ÇALSIN
• ALARMI SUSTURMAK İÇİN I0.1 RESET BUTONUNA BASILSIN
UYGULAMA
I/O ADRESLERİ
• PLC, DIŞARIDAN ALDIĞI VERİLERİ VEYA ÇIKIŞA GÖNDERECEĞİ VERİLERİ BİZİM TARAFIMIZDAN BELİRLENEN ADRESLERE KOYAR.
• I/O ADRES SAYISI (Byte) MODELE GÖRE DEĞİŞİR.
• GİRİŞ ADRESİ “I” İLE, ÇIKIŞ ADRESİ İSE “Q” İLE GÖSTERİLİR.
I/O ADRESLERİ
Bitler
I 3 . 4
Bit Byte
Giriş/Çıkış(I/O)
I 0 . 3
HAFIZA ALANLARI & VERİYE ERİŞİM
• BİR HAFIZA ALANINDAKİ BELLİ BİR BİTE ERİŞİM İÇİN ADRES TARİF EDİLİR.
• BU ADRES, BAYT VE BİT ADRESLERİYLE HAFIZA ALANI BELİRTECİNDEN OLUŞUR.
GİRİŞ KÜTÜĞÜ (PII): I
• S7–200, HER TARAMANIN BAŞINDA FİZİKSEL GİRİŞİ OKUR VE BU DEĞERLERİ PII OLARAK TANIMLANAN HAFIZA ALANINA YAZAR.
• GİRİŞ KÜTÜĞÜNE BİT, BAYT, WORD VEYA DOUBLE WORD OLARAK ERİŞEBİLİRSİNİZ:
– Bit: I[bayt addresi].[bit adresi] I0.1
– Bayt, Word veya Double Word: I[boyut][başlangıç bayt adresi] IB4
ÇIKIŞ KÜTÜĞÜ (PIQ): Q
• HER TARAMANIN SONUNDA ÇIKIŞ KÜTÜĞÜNDE BULUNAN DEĞERLER FİZİKSEL ÇIKIŞ NOKTALARINA KOPYALANIR.
• ÇIKIŞ KÜTÜĞÜNE BİT, BAYT, WORD VEYA DOUBLE WORD OLARAK ERİŞEBİLİRSİNİZ:
– Bit: Q[bayt addresi].[bit adresi] Q1.1
– Bayt, Word veya Double Word: Q[boyut][başlangıç bayt adresi] QB5
DEĞİŞKEN HAFIZA ALANI (VARİABLE MEMORY AREA): V
• V HAFIZA ALANINI KUMANDA PROGRAMI AKIŞI
SIRASINDA OLUŞAN ARA SONUÇLARI SAKLAMAK İÇİN KULLANABİLİRSİNİZ.
• V HAFIZA ALANI AYRICA PROSESİNİZ İÇİN GEREKEN DİĞER DEĞİŞKENLERİ, SABİTLERİ YAZMAK İÇİN DE KULLANILIR.
• ÇIKIŞ KÜTÜĞÜNE BİT, BAYT, WORD VEYA DOUBLE WORD OLARAK ERİŞEBİLİRSİNİZ:
– Bit: V[bayt addresi].[bit adresi] V10.2 – Bayt, Word veya Double Word: V[boyut][başl. bayt adresi] VW100
BİT HAFIZA ALANI: M
• BİT HAFIZA ALANINI (M HAFIZA) BİR İŞLEMİN ARA SONUCU OLARAK, TIPKI BİR YARDIMCI RÖLE GİBİ KULLANABİLİRSİNİZ.
• M HAFIZA ALANI KÜTÜĞÜNE BİT, BAYT, WORD VEYA DOUBLE WORD OLARAK ERİŞEBİLİRSİNİZ:
– Bit: M[bayt addresi].[bit adresi] M26.7
– Bayt, Word veya Double Word: V[boyut][başlangıç bayt adresi] MD20
ZAMAN RÖLESİ HAFIZA ALANI: T
• S7–200, 1 MSN, 10 MSN VEYA 100 MSN’NİN KATLARI OLARAK AYARLANABİLECEK ZAMAN RÖLELERİ
SAĞLAR.
• BİR ZAMAN RÖLESİNİN İKİ DEĞİŞKENİ BULUNUR:
– ANLIK DEĞER: BU 16 BİTLİK İŞARETLİ TAMSAYI, ZAMAN RÖLESİ TARAFINDAN SAYILMIŞ OLAN SÜREYİ GÖSTERİR.
– ZAMAN RÖLESİ BİTİ: BU BİT, ANLIK DEĞERLE AYAR
DEĞERİNİN KARŞILAŞTIRMA İŞLEMİ SONUCUNDA 1 VEYA 0 OLUR.
SAYICI HAFIZA ALANI: C
• S7–200, HERBİRİ SAYICI GİRİŞLERİNİN DÜŞÜK SİNYALDEN
YÜKSEK SİNYALE GEÇİŞİNDE (YÜKSELEN KENARDA) SAYAN ÜÇ TİP SAYICI İÇERİR: BİR TİP SADECE YUKARI SAYAR, BİR DİĞERİ SADECE AŞAĞI SAYAR, DİĞERİ İSE HEM AŞAĞI HEM DE YUKARI SAYAR.
• BİR SAYICININ İKİ DEĞİŞKENİ BULUNUR:
– ANLIK DEĞER: BU 16 BİTLİK İŞARETLİ TAMSAYI, SAYICI TARAFINDAN SAYILMIŞ OLAN DEĞERİ GÖSTERİR.
– SAYICI BİTİ: BU BİT, ANLIK DEĞERLE AYAR DEĞERİNİN KARŞILAŞTIRMA İŞLEMİ SONUCUNDA 1 VEYA 0 OLUR.
HIZLI SAYICILAR: HC
• HIZLI SAYICILAR, YÜKSEK SÜRATLİ DARBE GİRİŞLERİNİ CPU TARAMA SÜRESİNDEN BAĞIMSIZ OLARAK SAYARLAR.
• HIZLI SAYICILARIN 32 BİTLİK BİR SAYMA (VEYA ANLIK) DEĞERİ VARDIR. BU DEĞERE ERİŞİM İÇİN HAFIZA TİPİ (HC) İLE HIZLI SAYICI NUMARASINI BİRLİKTE KULLANIRSINIZ (ÖRNEĞİN HC0).
• ANLIK DEĞER, SALT-OKU DEĞERDİR VE SADECE DOUBLE WORD (32 BİT) OLARAK ERİŞİLEBİLİR.
– Format: HC[hızlı sayıcı numarası] HC1
AKÜMÜLATÖRLER: AC
• AKÜMÜLATÖRLER, OKUMA VE YAZMA YAPILABİLECEK HAFIZA BENZERİ ALANLARDIR.
• ÖRNEĞİN, BİR ALTPROGRAMA PARAMETRE ATAMAK İÇİN ÇEŞİTLİ DEĞİŞKENLERİ AKÜMÜLATÖRLER İÇİNE YAZAR VE ALTPROGRAMDA BU DEĞERLERİ KULLANABİLİRSİNİZ.
• S7–200’DE DÖRT ADET 32 BİT AKÜMÜLATÖR BULUNUR (AC0, AC1, AC2 VE AC3). AKÜMÜLATÖR İÇERİĞİNE BAYT, WORD VEYA DOUBLE WORD OLARAK ERİŞEBİLİRSİNİZ.
ANALOG GİRİŞLER: AI
• S7–200 (SICAKLIK VEYA BASINÇ GİBİ) ANALOG DEĞERLERİ 16 BİTLİK DİJİTAL BİR DEĞER HALİNE ÇEVİRİR.
• BU DEĞERLERE ALAN BELİRTECİ (AI), VERİ BOYUTU (W) VE BAŞLANGIÇ BAYT ADRESİ İLE ERİŞİLİR.
• ANALOG GİRİŞLER 2 BAYTLIK DEĞERLER OLDUĞUNDAN VE HER ZAMAN ÇİFT SAYIYLA BAŞLADIKLARINDAN, ONLARA ERİŞİM DE SADECE ÇİFT SAYILI BAYT ADRESLERİYLE OLUR (AIW0, AIW2, AIW4 GİBİ).
– Format: AIW[başlangıç bayt adresi] AIW4
ANALOG ÇIKIŞLAR: AQ
• S7–200 16 BİTLİK BİR DEĞERİ, DİJİTAL DEĞERLE ORANTILI BİR AKIM VEYA VOLTAJ DEĞERİNE DÖNÜŞTÜREBİLİR. BU
DEĞERLERE ALAN BELİRTECİ (AQ), VERİ BOYUTU (W) VE BAŞLANGIÇ BAYT ADRESİ İLE ERİŞİLİR.
• ANALOG ÇIKIŞLAR 2 BAYTLIK DEĞERLER OLDUĞUNDAN VE HER ZAMAN ÇİFT SAYIYLA BAŞLADIKLARINDAN, ONLARA ERİŞİM DE SADECE ÇİFT SAYILI BAYT ADRESLERİYLE OLUR (AQW0, AQW2, AQW4 GİBİ
– Format: AQW[başlangıç bayt adresi] AQW4
ÖZEL DAHİLİ RÖLELER (SM)
• ÖZEL DAHİLİ RÖLELERE ÖZEL HAFIZA BİTLERİ DE DENİR.
• BU HAFIZA BİTLERİ, CPU İLE PROGRAM ARASINDA İLETİŞİM SAĞLAYARAK ÇEŞİTLİ
KONTROL FONKSİYONLARINI GERÇEKLEŞTİRİR.
• BU ALANLARA BİT, BAYT, WORD VE DOUBLE WORD OLARAK ERİŞİM MÜMKÜNDÜR.
SMB0
• SM0.0: HER ZAMAN AKTİFTİR.
• SM0.1: İLK TARAMA BİTİ. İLK TARAMADA “1”
SONRA “0” OLUR. SAYICILAR VE KALICI TİP
ZAMAN RÖLELERİNİN ÇIKIŞI BU BİT İLE RESET EDİLİR.
• SM0.2: ENERJİ VERİLDİ BİTİ. ENERJİ
VERİLDİKTEN SONRAKİ İLK TARAMADA “1”
SONRA “0” OLUR.
SMB0
• SM0.4: 30 SN “0”, 30 SN “1” OLUR.
• SM0.5: 0,5 SN “0”, 0,5 SN “1” OLUR.
• SM0.6: TARAMA JENERATÖRÜ. BİR TARAMADA
“0”, BİR TARAMADA “1” OLUR.
• SM0.7: PLC STOP KONUMUNDAYSA “0”, RUN KONUMUNDAYSA “1” OLUR.
TAŞIMA, KAYDIRMA &
DÖNDÜRME KOMUTLARI
MOVE KOMUTLARI
• BAYT (MOVB), WORD (MOVW), DOUBLE WORD (MOVD) VE REEL SAYI (MOVR) TAŞI KOMUTLARI, IN’DE YER ALAN DEĞERİ OUT’DA YER ALAN HAFIZA BÖLGESİNE TAŞIR (KOPYALAR).
• GİRİŞ DEĞERİ DEĞİŞMEZ.
• EN GİRİŞİNE YENİ BİR SİNYAL GELENE KADAR ÇIKIŞTAKİ BİLGİ KALICIDIR.
ÖRNEK-1
• I0.0 AKTİF OLDUĞUNDA IN GİRİŞİNDEKİ 85 SAYISI QB0’A ATANIR.
QB0=01010101
ÖRNEK-2
• I0.0 AKTİF OLDUĞUNDA IN GİRİŞİNDEKİ 10753 SAYISI QW0’A ATANIR.
QW0=0010101000000001
ÖRNEK-3
• SMB28 İLE GİRİŞ DEĞERİ DEĞİŞTİRİLİR. I0.0 İLE GİRİŞ ÇIKIŞA TAŞINIR.
SHIFT (KAYDIRMA)
• BİR BAYTA SAĞA KAYDIRMA (RİGHT SHİFT) İŞLEMİ UYGULANIRSA 7. BİT 6.NIN YERİNE, 6. BİT 5.NİN YERİNE, 5. BİT 4.NÜN YERİNE .... GEÇER.
• BOŞ KALAN 7. BİT POZİSYONUNA 0 YAZILIR VE 0. BİT İÇERSİNDEKİ 1 DEĞER DIŞARIYA ATILIR.
• SOLA KAYDIRMA (LEFT SHIFT) İŞLEMİ DE AYNI ŞEKİLDE GERÇEKLEŞTİRİLMEKTEDİR.
• BU SEFER BOŞ KALAN 0. BİT POZİSYONUNA 0 YAZILIR VE 7. BİT İŞLEM DIŞI KALIR.
SHIFT (KAYDIRMA)
• 1 0 1 1 1 0 0 1
• 0 1 0 1 1 1 0 0 -> SAĞA KAYDIRMA SONRASI
• 0 1 1 1 0 0 1 0 -> SOLA KAYDIRMA SONRASI
KAYDIRMA KOMUTLARI
• KAYDIRMA KOMUTLARI, “IN”’DE VERİLEN GİRİŞ
DEĞERİNİ “N” BİT KADAR SAĞA VEYA SOLA KAYDIRIR VE SONUCU OUT’A YAZAR. KAYDIRILAN HER BİTİN YERİNE 0 DOLDURULUR.
• SAĞA KAYDIR:
– SHR-B, SHR-W, SHR-DW
• SOLA KAYDIR :
– SHL-B, SHL-W, SHR-DW
ROTATE (DÖNDÜRME)
• DÖNDÜRME (ROTATE) İŞLEMİNDE DE YİNE
KAYDIRMA İŞLEMİNDE OLDUĞU GİBİ BİTLER BİR SAĞA VEYA SOLA KAYDIRILIR FAKAT BURADA BOŞ KALAN 7. VEYA 0. BİT YERİNE SIFIR DEĞİL DE 7. BİT İÇİN 0. BİTİN VE 0. BİT İÇİN DE 7. BİTİN DEĞERİ
YERLERİNE YAZILIR.
• YANİ YUKARIDAKİ BAYTIMIZA SIRASIYLA SAĞA VE SOLA DÖNDÜRME İŞLEMLERİ UYGULANIRSA
AŞAĞIDAKİ GİBİ SONUÇLAR ELDE EDİLİR.
ROTATE (DÖNDÜRME)
• 1 0 1 1 1 0 0 1
• 1 1 0 1 1 1 0 0 -> SAĞA DÖNDÜRME SONRASI
• 0 1 1 1 0 0 1 1 -> SOLA DÖNDÜRME SONRASI
DÖNDÜRME KOMUTLARI
• DÖNDÜRME KOMUTLARI, “IN”’DE VERİLEN GİRİŞ DEĞERİNİ “N” BİT KADAR SAĞA VEYA SOLA DÖNDÜRÜR VE SONUCU OUT’A YAZAR.
DIŞARI TAŞAN BİTLER ÖBÜR TARAFA GİDER.
• SAĞA DÖNDÜR:
– ROR-B, ROR-W, ROR-DW
• SOLA KAYDIR :
– ROL-B, ROL-W, ROR-DW
UYGULAMA
• PLC ÇIKIŞINA BAĞLANAN 8 RÖLE/KONTAKTÖR İLE YÜRÜYEN IŞIK
• MOVE, ROTATE VEYA SHIFT KOMUTLARI KULLANILACAK
UYGULAMA
• START’A BASINCA ÇIKIŞA (QB0) 1 YAZDIRILIR
• HER 1 SANİYEDE SOLA
KAYDIRMA YAPILIP ÇIKIŞA YAZDIRILIR
• EĞER ÇIKIŞIN SON BİTİNDE İSE ÇIKIŞA TEKRAR 1
YAZDIRILIR
SAYISAL İŞLEMLER
• 16 BIT SAYILARLA TOPLAMA, ÇIKARMA, ÇARPMA, BÖLME VE KAREKÖK ALMA GİBİ İŞLEMLER
YAPILABİLİR.
– İŞLEM SONUCU=0 İSE SM1.0 LOJİK1,
– İŞLEM SONUCU TAŞMA OLDUYSA SM1.1 LOJİK1, – İŞLEM SONUCU (-) İSE SM1.2 LOJİK1,
– SIFIRA BÖLME YAPILDIYSA SM1.3 LOJİK1 OLUR
SAYISAL İŞLEMLER
• TOPLAMA: ADD_I, ADD_DI, ADD_R
• ÇIKARMA: SUB_I, SUB_DI, SUB_R
• ÇARPMA: MUL_I, MUL_DI, MUL_R
• BÖLME: DIV_I, DIV_DI, DIV_R
TOPLAMA
OUT=IN1+IN1
ÇIKARMA
OUT=IN1-IN2
ÇARPMA
OUT=IN1*IN2
BÖLME
• 90 TAMSAYISININ 6 TAMSAYISINA
BÖLÜNMESİ
ARTTIRMA & AZALTMA KOMUTLARI
• “EN” GİRİŞİ AKTİF OLDUĞUNDA “IN” GİRİŞİNE GELEN DEĞERİ 1 ARTTIRAN VEYA AZALTAN VE
“OUT” ÇIKIŞINA VEREN KOMUTLARDIR.
• DEĞER BYTE, WORD VEYA DOUBLE WORD OLABİLİR.
ARTTIRMA & AZALTMA KOMUTLARI
IN+1->OUT
IN-1->OUT
UYGULAMA
• B1 BANDINDAN GEÇEN ÜRÜNLERİ S1 SAYICISI, B2 BANDINDAN GEÇEN ÜRÜNLERİ S2 SAYICISI SAYMAKTADIR
• SAYICILARIN TOPLAMI 10 OLUNCA HER İKİ BANT DURSUN VE PAKETLEME MAKİNASI 5 SN. ÇALIŞSIN
• PAKETLEME DURUNCA BANT OTOMATİK ÇALIŞMAYA BAŞLASIN
MANTIK İŞLEMLERİ
• MİKROİŞLEMCİLERDE BAZI İŞLERİN VE HESAPLARIN YAPILMASI İÇİN MANTIK İŞLEMLERİ KULLANILIR.
• BUNLAR AND, OR, XOR VE NOT GİBİ İŞLEMLERDİR.
AND (VE) İŞLEMİ
A B A AND B
0 0 0 0 1 0 1 0 0 1 1 1
0=ANAHTAR AÇIK 1=ANAHTAR KAPALI
OR (VEYA) İŞLEMİ
A B A OR B
0 0 0 0 1 1 1 0 1 1 1 1
0=ANAHTAR AÇIK 1=ANAHTAR KAPALI
NOT (DEĞİL) İŞLEMİ
A NOT A
0 1
1 0
0=ANAHTAR AÇIK 1=ANAHTAR KAPALI BIT 0 İSE SONUÇ LOJİK 1, 1 İSE
SONUÇ LOJİK 0 OLUR.
LOJİK İŞLEM KOMUTLARI
• BYTE, WORD VEYA DOUBLE WORD TİPİNDEKİ VERİLERİN AYNI KONUMDAKİ HER BİTİNE
“AND”, “OR”, VEYA “XOR” İŞLEMLERİ GERÇEKLEŞTİRLİR.
• AŞAĞIDAKİ KOMUTLAR VARDIR:
– WAND_B, WAND_W, WAND_DW – WOR_B, WOR_W, WOR_DW
– WXOR_B, WXOR_W, WXOR_DW
LOJİK İŞLEM KOMUTLARI
LOJİK İŞLEM KOMUTLARI
• IN1 VE IN2’DE YER ALAN GİRİŞLERİN KARŞILIKLI BİTLERİNİ LOJİK OLARAK
AND/OR/XOR İŞLEMİNE TABİ TUTAR VE SONUCU OUT’A YAZAR.
INVERTING
• BAYT (INVB), WORD (INVW) VE DOUBLE
WORD (INVD) TERS ÇEVİRME KOMUTLARI,
“IN”DE YER ALAN DEĞİŞKENİN 1’Lİ
TÜMLEYENİNİ ALIR VE SONUCU “OUT”A YAZAR.
ALGORİTMA & YAPISAL
PROGRAMLAMA
ALGORİTMA NEDİR?
• BİR PROGRAMIN KODLARINI YAZMAYA
BAŞLAMADAN ÖNCE YAPILACAK İŞLERİN YAZIYLA VEYA ŞEMAYLA BELİRLENMESİDİR.
• YA DA BİR PROBLEMİN ÇÖZÜMÜNE YÖNELİK OLARAK HAZIRLANAN ANLAŞILIR ADIM YA DA İŞLEMLERİN ARD ARDA TANIMLANMASI VE İZLENECEK YÖNTEMİN ORTAYA KOYULMASI.
ALGORİTMANIN FAYDALARI
• PROGRAMIN DAHA ANLAŞILIR OLMASI
SAĞLANIR. PROGRAMIN AKIŞI KOLAYCA TAKİP EDİLİR.
• UZUN VE KARIŞIK PROGRAMLAR DAHA BASİT PARÇALARA AYRILIR.
• PROGRAMDA KARŞILAŞILABİLECEK HATALARIN ÖNCEDEN TESPİTİNİ SAĞLAR.
AKIŞ DİYAGRAMLARI
• ALGORİTMANIN GRAFİK SEMBOLLER
KULLANILARAK İFADE EDİLMESİYLE AKIŞ DİYAGRAMLARI OLUŞUR.
• PROGRAMIN DAHA ANLAŞILIR OLMASINI SAĞLANIR.
• MANTIKSAL HATALARIN OLMASI ENGELLENİR.
SEMBOLLER
VERİ GİRİŞİ X,Y
BAŞLA / DUR
T=X+Y İŞLEM
SEMBOLLER
SORGU / KARAR
DÖNGÜ
ÇIKTI
KLAVYEDEN GİRİLEN İKİ SAYININ TOPLAMINI EKRANA YAZ
• BAŞLA
• OKU A,B
• TOP=A+B
• YAZ TOP
• DUR
BAŞLA
A,B
TOP=A+B
TOP
DUR
KLAVYEDEN GİRİLEN İKİ SAYININ BÜYÜĞÜNÜ EKRANA YAZ
• BAŞLA
• OKU A,B
• EĞER A>B
• YAZ “A BÜYÜK”
• DEĞİLSE
• YAZ “B BÜYÜK”
• DUR
BAŞLA
A,B
A BÜYÜK
DUR A>B?
EVET
B BÜYÜK
DUR
HAYIR
PROGRALAMA
• PROGRAMLAMA TEMELDE İKİ FARKLI YÖNTEMLE YAPILABİLİR
– YAPISAL
– DOĞRUSAL
DOĞRUSAL PROGRAMLAMA
• TÜM KOMUTLAR ALT ALTA YAZILIR VE
SIRAYLA ÇALIŞTIRILIR
• SON KOMUTA GELİNCE TEKRAR BAŞA
DÖNÜLÜR
KOMUT1 KOMUT2 KOMUT3 KOMUT4
….
YAPISAL PROGRAMLAMA
• BİR ANA PROGRAM VE ALT ROGRAMLARDAN OLUŞAN PROGRAMLAMA MANTIĞIDIR
• ÇOK SIK OLARAK ÇALIŞTIRILAN KODLAR BİR ALT
PROGRAM OLARAK KAYDEDİLİR VE GEREKTİĞİNDE ÇAĞIRILIR
• ALT PROGRAMIN İŞİ BİTTİĞİNDE ANA PROGRAM KALDIĞI YERE GERİ DÖNER VE ALTTAKİ KOMUTTAN ÇALIŞMAYA DEVAM EDER
YAPISAL PROGRAMLAMA
KOMUT1 ALT_1 KOMUT2
KOMUT3 ALT_2 KOMUT4
….
KOMUT 5 KOMUT6 KOMUT7
ALT_1
KOMUT 8 KOMUT9
ALT_2
NEDEN YAPISAL PROGRAMLAMA
• İŞLEMLER DAHA BASİT KÜÇÜK PARÇALARA BÖLÜNDÜĞÜ İÇİN DAHA KOLAY
PROGRAMLAMA İMKANI SAĞLAR
• AYNI KODLARI TEKRAR TEKRAR YAZMAKTAN KURTULURUZ
• PROGRAMIN OKUNMASI VE ANLAŞILMASI DAHA KOLAY OLUR
AKIŞ KONTROLÜ
• AKIŞ KOMUTLARI, PROGRAMI DURDURMAYA, ALTPROGRAM ÇAĞIRMAYA, ANA PROGRAMA GERİ DÖNMEYE, BAŞKA BİR AĞA DALLANMAYA YARAYAN KOMUTLARDIR
• ÇOK DAHA GELİŞMİŞ PROGRAMLAR YAZMAYA YARAR
AKIŞ KONTROL KOMUTLARI
• END
• STOP
• JMP
• LABEL
• SBR
• RET
• FOR
• NEXT
• WDR
• SCR
END
• END KOMUTU AKIF OLURSA ANA PROGRAMI SONLANDIRIR
• MICROWIN32 OTOMATİK OLARAK END KOMUTUNU PROGRAM SONUNA EKLER
• SADECE ANA PROGRAMDA KULLANILMALI,
ALT PROGRAM VE KESME PROGRAMLARINDA KULLANILMAMALIDIR
END
• EĞER I0.2 AKTİF İSE PROGRAMI SONLANDIR VE TARAMAYA
YENIDEN BASLA
STOP
• STOP KOMUTU ÇALIŞTIĞINDA PLC’Yİ RUN
KONUMUNDAN STOP KONUMUNA GETİRİR VE PROGRAMIN ÇALIŞMASINI DURDURULUR
• PROGRAMIN ÇALIŞMAYA DEVAM ETMESİ İÇİN PLC’NİN RUN KONUMUNA (SWITCH İLE VEYA EDİTORDEN > İLE) ALINMASI GEREKİR
STOP
• STOP KOMUTU KESME PROGRAMLARINDA UYGULANIRSA, KESME PROGRAMI
SONLANDIRILIR, TÜM SIRADA BEKLEYEN KESMELER İPTAL EDİLİR, O TARAMADAKİ İŞLEMLERLE BİRLİKTE ANA PROGRAMIN ÇALIŞMASI DA DURDURULUR
JMP & LABEL
• JMP KOMUTU ROGRAMI BELİRTİLEN ETİKETE (NETWORK’E) GÖNDERİR
• BÖYLECE, BAZI ŞARTLAR GERÇEKLEŞTİĞİNDE ÇALIŞMASINI İSTEMEDİĞİMİZ KOMUTLARDAN KURTULMUŞ OLURUZ
JMP & LABEL
• YANDAKİ PROGRAMDA EĞER I0.2 AKTİFSE
PROGRAM NETWORK4’E ATLAR VE ORADAN
İTİBAREN ÇALIŞMAYA DEVAM EDER
ALT PROGRAM
• PROGRAMDA SIK SIK TEKRAR EDİLEN İŞLER
(KOMUTLAR) BİR ALT PROGRAM OLARAK YAZILIR VE GEREKTİĞİNDE ÇAĞRILIR
KOMUT1 ALT_1 KOMUT2 KOMUT3
ALT_2 KOMUT4
….
KOMUT 5 KOMUT6 KOMUT7 ALT_1
KOMUT 8 KOMUT9
ALT_2
SBR & RET
• ALT PROGRAM ÇAĞIRMAK İÇİN «SBR» ALT POGRAMDAN GERİ DÖNMEK İÇİN İSE «RET»
KOMUTU KULLANILIR
KOMUT1 KOMUT2
SBR_1 KOMUT3 KOMUT4 KOMUT5
KOMUT7 KOMUT 8
KOMUT9 SBR_1
UYGULAMA
• I0.2 AKTIFSE SAGA_KAYAN_LAMBA
ALTPROGRAMI, DEĞİLSE SOLA_KAYAN_LAMBA ALTPROGRAMI ÇALIŞSIN
ANA PROGRAM
SAGA_KAYAN_LAMBA
SOLA_KAYAN_LAMBA
RET
• ----| |---(RET)
• ÖNÜNDEKİ KONTAKLAR AKTİF İSE ALT PROGRAMDAN ÇIKIP ANA PROGRAMA DÖNDÜRÜR
• MICROWIN 3.2 VE DAHA ÜSTÜ SÜRÜMLERDE EN SONA (GÖRÜNMESE DE) OTOMATİK
KOYULUR
FOR - NEXT
• FOR İLE NEXT ARASINDA OLAN KOMUTLARIN BELİRLİ SAYIDA ÇALIŞMASINI SAĞLAR
– FOR
• KOMUT1
• KOMUT2
• …
– NEXT
FOR - NEXT
• INIT: BAŞLANGIÇ DEĞERİ
• FINAL:BİTİŞ DEĞERİ
• INDX: DÖNGÜNÜN KAÇ DEFA ÇALIŞTIĞINI TUTAR
UYGULAMA
• FOR-NEXT VE INC KOMUTLARIYLA 1’DEN 5’E KADAR SAYDIRALIM
UYGULAMA
UYGULAMA
• BİR OTO YIKAMACIDA SU DEPOSU VARDIR.
ŞEBEKEDE SU VARSA DEPO
KULLANILMAYACAK, ŞEBEKE SUYU
KESİLDİYSE POMPA ÇALIŞARAK SU
BASACAKTIR
DEPO SU >>
Q0.1 VALF1
Q0.2 VALF2
Q0.3 VALF3
Q0.4 POMPA I0.0
BASINÇ ANAHTARI
I0.3 KAP.
SENSÖR
I0.4
KAP. SENSÖR
UYGULAMA
• ŞEBEKEDE SU VARSA I0.0 AKTİFTİR
• ŞEBEKEDE SU OLDUĞU SÜRECE VALF2 ÇALIŞSIN, AYNI ZAMANDA POMPA DA ÇALIŞTIRILABİLSİN
• ŞEBEKEDE SU YOKSA VALF2 KAPANSIN, VALF3 AÇILSIN, POMPA ÇALIŞTIRILABİLSİN
• DEPO DOLU İSE I0.3 AKTIF OLUR VE VALF1 KAPANIR
• DEPO BOŞ İSE VE ŞEBEKEDE SU VARSA VALF3 KAPANSIN
• ŞEBEKEDE SU YOKSA VE DEPO BOŞ İSE POMPA ÇALIŞTIRILAMASIN
INTERRUPT & INTERRUPT
ALTPROGRAMLARI
ÇEVRİM ZAMANI
• PLC, GİRİŞE GELEN SİNYALLERİ OKUR, PROGRAM
İÇİNDE ÇALIŞTIRIR VE İŞLEM SONUÇLARINI ÇIKIŞLARA YAZAR; BUNA ÇEVRİM DENİR
• PLC’DEKİ ÇEVRİM SÜRESİNİ ÖĞRENMEK İÇİN
– PLC\ INFORMATION
• KOMUT SAYISI NE KADAR FAZLA İSE ÇEVRİM SÜRESİ DE O KADAR FAZLA OLUR
ÇEVRİM ZAMANI
• SON ÇEVRİMİN SÜRESİ, MAX. VE MIN. ÇEVRİM SÜRELERİ ÖĞRENİLEBİLİR
INTERRUPT
• EĞER PLC ÇEVRİM SÜRESİ ÇOK UZUN VE
GİRİŞTEKİ SİNYALLER ÇEVRİMDEN DAHA KISA SÜREDE DEĞİŞİYORSA BU SORUN OLABİLİR
• ÖRNEĞİN İLK ÇEVRİMDE I0.0 LOJİK0 OLDU, ÇEVRİM DEVAM EDERKEN LOJİK1 VE DAHA ÇONRA TEKLAR LOJİK0 OLDUYSA BU GİRİŞ SİNYALİ İŞLENMEZ
INTERRUPT
TARAMA SÜRESİ
PROGRAMI ÇALIŞTIR GİRİŞLERİ
OKU
ÇIKIŞLARA YAZ
I0.0
INTERRUPT
• EĞER GİRİŞTEKİ SİNYALLER ÇEVRİMDEN ÇOK DAHA HIZLI DEĞİŞİYORSA BU DURUMDA
INTERRUP (KESİNTİ) KULLANILIR
• PLC BİR KESİNTİ ALDIĞINDA O ANDA YAPTIĞI İŞİ BIRAKIR, SİNYAL GELEN PORTUN İŞİNİ
GÖRÜR VE DAHA SONRA KALDIĞI YERDEN DEVAM EDER
INTERRUPT
• PLC, BİR KESİNTİ
ALDIĞINDA İLGİLİ ALT PROGRAMI ÇALIŞTIRIR
KOMUT1 INT_1 KOMUT2 KOMUT3
INT_2 KOMUT4
….
KOMUT 5 KOMUT6 KOMUT7 INT_1
KOMUT 8 KOMUT9 INT_2
KESME TİPLERİ
• FARKLI İŞLEMLER FARKLI KESMELER
OLUŞTURABİLİR. KESME TİPLERİ AŞAĞIDAKİ GİBİDİR:
– GİRİŞ-ÇIKIŞ KESMELERİ
– İLETİŞİM PORTU KESMELERİ – ZAMANA BAĞLI KESMELER
GİRİŞ-ÇIKIŞ KESMELERİ
• GİRİŞ VE ÇIKIŞLARDA ELDE EDİLEN
SİNYALLERİN OLUŞTURDUĞU KESMELERDİR.
• ÖRNEĞİN I0.0’A BİR YÜKSELEN KENAR
GELDİĞİNDE, EVENT=2 OLAYI GERÇEKLEŞİR;
BU OLAY GERÇEKLEŞTİĞİNDE, (ATCH) KOMUTU KULLANILARAK BİR ALT PROGRAM
ÇALIŞTIRILIR
ATCH
• ATCH KOMUTU BİR SİNYAL GELDİĞİNDE BELLİ BİR
ALTPROGRAMIN ÇALIŞTIRILMASINI SAĞLAR
ATCH
• «INT» GİRİŞİ HANGİ ALT PROGRAMIN
ÇALIŞACAĞINI, «EVNT»
GİRİŞİ İSE HANGİ OLAY GERÇEKLEŞTİĞİNDE ALT PROGRAMIN
ÇALIŞACAĞINI BELİRLER
ATCH
• YANDAKİ KOMUTTA EVENT=0
OLDUĞUNDAN DOLAYI I0.0 YÜKSELEN
KENARINDA INT_0 ALT PROGRAMI ÇALIŞIR
ATCH
• «EVNT» GİRİŞİNDEKİ OLAYLAR İÇİN S7-200
EDİTÖRÜNDE «ATCH» KOMUTUNUN ÜZERİNE GELİP
«F1» TUŞUNA BASIN
INTERRUP EVENT PRIORITY TABLE
DTCH
• DAHA ÖNCEDEN (ATCH) KOMUTU İLE BELİRTİLEN İLİŞKİYİ KALDIRIR VE OLAY GERÇEKLEŞTİĞİNDE KESİNTİ ALT
PROGRAMININ ÇALIŞMASINI ENGELLER
ENI & DESI
• CPU «RUN» KONUMUNA ALINDIĞINDA KESME ALT PROGRAMLARI DEVREDE DEĞİLDİR
• KESME ALT PROGRAMLARININ ÇALIŞABİLMESİ İÇİN (ENI) KOMUTU ÇALIŞTIRILMALIDIR
• (DISI) KOMUTU İSE (ENI) KOMUTUNUN TAM TERSİNİ YAPAR, YANİ, KESME ALT
PROGRAMLARINI ENGELLER
RETI
• KESME ALTPROGRAMININ BİTİRİLMESİ VE ANA PROGRAMA DÖNÜLMESİNİ SAĞLAR
• ---| |---(RETI)
• MICROWIN 3.2 VE DAHA ÜSTÜ SÜRÜMLER BU KOMUTU (GÖRÜNMEZ OLARAK) SATIR
SONUNA OTOMATİK KOYAR
ANINDA KOMUTLAR
• PLC GİRİŞLERİNE GELEN SİNYALLERİN ÇEVRİMDEN BAĞIMSIZ OLARAK
ÇALIŞTIRILMASINI VE İŞLEM SONUÇLARININ ÇIKIŞLARA GÖNDERİLMESİNİ SAĞLAR
• BU KOMUTLARIN KESİNTİ ALTPROGRAMLARI İÇİNDE KULLANILMASI GEREKİR
UYGULAMA
• I0.1 AKTIF OLDUĞUNDA Q0.0 AKTIF OLSUN
• I0.2 AKTIF OLDUĞUNDA İSE ÇEVRİMİN BİTMESİNE GEREK KALMADAN HEMEN KAPATILSIN
ANA PROGRAM
INT_0
UYGULAMA
• İKİ MOTORLU BİR SİSTEMDE ÇALIŞTIRMA VE DURDURMA İÇİN 4 BUTON
KULLANILMAKTADIR
– I0.0: 1. MOTORU ÇALIŞTIR
– I0.1: 1.MOTORU YÜKSELEN KENAR M1 KESİNTİ ALTPROGRAMI İLE DURDUR
– I0.2: 2. MOTORU ÇALIŞTIR
– I0.3: 2. MOTORU DÜŞEN KENAR M2 KESİNTİ ALTPROGRAMI İLE DURDUR
ANA PROGRAM(1/2)
ANA PROGRAM(2/2)
M1 INTTERRUPT
M2 INTERRUPT
İLETİŞİM PORTU KESMELERİ
• PORT_0 VE VARSA PORT_1’İN OLUŞTURDUĞU KESMELERDİR.
• ÖRNEĞİN İLETİM TAMAMLANDIĞINDA EVENT=9 OLAYI GERÇEKLEŞİR
• (ATCH) KOMUTUYLA BU OLAYA BİR ALT PROGRAM İLİŞTİRİLEBİLİR
İLETİŞİM PORTU KESMELERİ
• PORT_0: KARAKTER ALIMI = EVENT8
• PORT_0: İLETİM TAMAMLANDI = EVENT9
• PORT_0: MESAJ ALIMI TAMAMLANDI = EVENT23
• PORT_1: KARAKTER ALIMI = EVENT25
• PORT_1: İLETİM TAMAMLANDI = EVENT26
• PORT_1: MESAJ ALIMI TAMAMLANDI = EVENT24
ZAMANA BAĞLI KESMELER
• BELİRLİ ZAMAN ARALIKLARIYLA KESME ALT PROGRAMLARININ ÇALIŞMASINI VEYA BİR OLAY GERÇEKLEŞTİKTEN BELLİ BİR
SÜRE SONRA BİR ALT PROGRAMIN ÇALIŞMASINI SAĞLAR
• SÜRE, 1-255 MS ARASI OLABİLİR
• ARALIKLI KESMELERDE EVNT=10 İÇİN SMB34 ADRESİNE, EVNT=11 İÇİN SMB35 ADRESİNE DEĞER TAŞINIR VE SÜRE BELİRLENİR
• GEÇİKMELİ KESMELER İÇİN T32 VE T96 ZAMANLAYICILARI KULLANILIR
UYGULAMA
• 5MS’DE BİR KAZANDAKİ SICAKLIĞI OKUYAN KESME ALTPROGRAMI
– SICAKLIK SENSÖRÜ PLC’NİN İLK ANALOG PORTU OLAN «AIWO» ADRESİNE BAĞLI
ANA PROGRAM
ALTPRORAM
GERÇEK ZAMAN SAATİ
GERÇEK ZAMAN SAATİ
• GÜNÜN BELİRLİ SAATLERİNDE BELİRLİ İŞLEMLERİN YAPILMASINI SAĞLAR
• ÖRNEĞİN SABAH SAAT 8’DE IŞIKLARIN AÇILMASI VE 17’DE KAPANMASI GİBİ…
• 224 VE 226 CPU’LARDA ENTEGRE OLARAK GZS VARDIR; DİĞER CPU’LARA BİR PİL
TAKILMALIDIR
GERÇEK ZAMAN SAATİ
• AŞAĞIDAKİ BİLGİLER BİLİNMELİ VE VBXX ADRESİNE SIRAYLA YAZILMALIDIR
– YIL :00-99 16#72 (VB200) – AY :01-12 16#07 (VB201) – GÜN :01-31 16#07 (VB202) – SAAT :00-23 16#15 (VB203) – DAKİKA :00-59 16#00 (VB204) – SANİYE :00-59 16#00 (VB205) – BOŞ
– GÜN :01-07 16#01 (VB207)
GERÇEK ZAMAN SAATİ
VB ADRESLERİ YIL (00-99) AY (01-12) GÜN (01-31) SAAT (00-23) DAKİKA(00-59) SANİYE(00-59) BOŞ
GÜNLER
SET RTC READ RTC
TARİH
AYARLANIR
TARİH OKUNUR
VE KULLANILIR
GERÇEK ZAMAN SAATİ
• SET_RTC KOMUTU DONANIMA GERÇEK ZAMAN SAATİNİ VBXX ADRESİNDEN BAŞLAYARAK 8 BYTE OLARAK YAZAR
• READ_RTC KOMUTU İSE
DONANIMDAM GERÇEK ZAMAN SAATİNİ VBXX ADRESİNDEN
BAŞLAYARAK 8 BYTE OLARAK OKUR
UYGULAMA
• PLC GEÇEK ZAMAN SAATİNİ 19 MAYIS 2012 SAAT 09.00 OLARAK AYARLAYALIM
UYGULAMA
UYGULAMA
UYGULAMA-2
• HER GÜN SAAT 08.00’DA VE 17.30’DA Q0.0 10 SN AKTİF OLSUN
ANALOG GİRİŞ ÇIKIŞ İŞLEMLERİ
DİJİTAL GİRİŞ/ÇIKIŞ ELEMANLARI
• PLC GİRİŞLERİNE LOJİK0 VEYA LOJİK1 UYGULAYAN ELEKTROMEKANİK
ELEMANLARDIR:
– TRANSİSTÖR SVİÇLER – YAKLAŞIM SENSÖRLERİ – FOTOSELLER
– LİMİT SVİÇLER – TERMOSTATLAR – BASINÇ SVİÇLERİ – ENCODER
ANALOG GİRİŞ/ÇIKIŞ ELEMANLARI
• PLC ANALOG GİRİŞLERİNE 8 VEYA 12 BIT SİNYAL GÖDEREN ELEKTROMEKANİK
ELEMANLARDIR
– SICAKLIK – AĞIRLIK – BASINÇ – DEBİ – NEM
– V.B SENSÖRLERDİR…
ANALOG GİRİŞ ELEMANLARI
• ANALOG SENSÖRLER PLC’NİN SADECE ANALOG GİRİŞLERİNE BAĞLANABİLİR
• BU NEDENLE, YA YENİ ALINAN PLC’DE ENTEGRE ANALOG PORT OLMALI YA DA MODÜL SATIN ALINMALIDIR
ANALOG TO DIGITAL CONVERTER (ADC)
• PLC KENDİ İÇİNDE SADECE DİJİTAL SAYILARLA (10001101) ÇALIŞIR
• BU NEDENLE ANALOG GİRİŞLERE BAĞLANAN SENSÖR DEĞERLERİ GENLİĞİ İLE ORANTILI
OLARAK İKİLİ SAYIYA DÖNÜŞTÜRÜLÜR
• ADC GİRİŞİ AKIM VEYA GERİLİM OLABİLİR
ANALOG TO DIGITAL CONVERTER (ADC)
• ADC ÇIKIŞINDAKİ BİT SAYISI GİRİŞE
UYGULANAN SİNYALİN KAÇA BÖLÜNECEĞİNİ GÖSTERİR
• 8 BİTLİK ADC, GİRİŞİ 256’YA BÖLER
ANALOG ADC
GİRİŞ
D0
D7
CPU
ANALOG TO DIGITAL CONVERTER (ADC)
• 12 BITLIK ADC, 0-10V ARALIĞINDAKİ GERİLİMİ AŞAĞIDAKİ ARALIKTA BÖLER
– 10 VOLT / 2 12 -1=2.44mV
• YANİ:
– 0V GELİRSE 000000000000 – 2.44mV GELİRSE 000000000001
– 4.88mV GELİRSE 000000000010 – 10V GELİRSE 111111111111
ANALOG GİRİŞ PORTU
• ANALOG GİRİŞ PORTU, GİRİŞİNE UYGULANAN ANALOG SİNYALİ 12 BİTLİK DİJİTAL SAYIYA
ÇEVİRİP BELLEKTE BULUNAN 16 BİTLİK AIWX ADRESİNE YERLEŞTİRİR
ANALOG GİRİŞ PORTLARI
• FARKLI PLC’LERDE FARKLI ANALOG PORTLAR MEVCUTTUR. BU PORTLAR AŞAĞIDAKİ
SİNYALLERLE ÇALIŞABİLİR:
– 0-10V VEYA -10/+10V (GERİLİM) – 0-20mA VEYA 4-20mA (AKIM)
• PLC’DEKİ ANALOG PORTA GÖRE SENSÖR SATIN ALINMALIDIR
ANALOG GİRİŞ PORTLARI
• S7-200/224XP MODELİNDE 2 ADET ANALOG GİRİŞ PORTU VARDIR
• GEREKİRSE MODÜL TAKILARAK ANALOG GİRİŞ SAYISI ARTTIRILABİLİR
• ANALOG GİRİŞ ADRESLERİ:
– AIW0 – AIW2
DIGITAL TO ANALOG CONVERTER (DAC)
• GİRİŞE UYGULANAN DİJİTAL VERİNİN
BÜYÜKLÜĞÜNE BAĞLI OLARAK ÇIKIŞA AKIM VEYA GERİLİM UYGULAYAN DEVRELERDİR
DAC ANALOG ÇIKIŞ
D0
D7
CPU
DIGITAL TO ANALOG CONVERTER (DAC)
• 12 BITLIK DAC, 0-10V ARALIĞINDAKİ GERİLİMİ AŞAĞIDAKİ ARALIKTA BÖLER
– 10 VOLT / 2 12 -1=2.44mV
• ÇIKIŞ (ANALOG) VERİ(DİJİTAL)
– 0V 000000000000
– 2.44mV 000000000001
– 4.88mV 000000000010
– 10V 111111111111
ANALOG ÇIKIŞ PORTLARI
• S7-200/224XP MODELİNDE 1 ADET ANALOG ÇIKIŞ PORTU VARDIR
• GEREKİRSE MODÜL TAKILARAK ÇIKIŞ SAYISI ARTTIRILABİLİR
• ANALOG ÇIKIŞ ADRESLERİ:
– AQW0
UYGULAMA-1
• AIW0 ADRESİNDEKİ DEĞERİ AQW0 ADRESİNE GÖNDERELİM
UYGULAMA-2
• AIW0 ADRESİNE BASINÇ SENSÖRÜ BAĞLANMIŞTIR.
• BASINÇ 0-10 BAR ARASINDA DEĞİŞTİĞİNDE ANALOG GİRİŞE 0-10V GERİLİM
UYGULANMAKTADIR
• ANALOG MODÜL 12 BİTLİKTİR
UYGULAMA-2
• ANALOG MODÜLÜN HİSSEDECEĞİ EN KÜÇÜK GERİLİM NEDİR?
• BASINÇ 5.8 BAR İSE AIWO ADRESİNİN DEĞERİ (İKİLİ+ONLU) NE OLUR?
• BASINÇ 5.8 BAR’IN ÜSTÜNE ÇIKTIĞINDA Q0.0 ADRESİNE BAĞLI SİREN 0.5 SN ARALIKLARLA ÇALSIN
UYGULAMA-2
• ANALOG MODÜL 12 BİT OLDUĞUNA GÖRE ADIM SAYISI=2 12 -1=4095
• ANALOG GİRİŞİN HİSSEDECEĞİ EN KÜÇÜK GERİLİM:
– 10/4095=2.44mV
UYGULAMA-2
• BASINÇ 5.8 BAR OLDUĞUNDA AIW0 ADRESİNE 5.8V UYGULANIR
• ANALOG GİRİŞE 10V/10 BAR GELİRSE DİJİTAL OLARAK 111111111111, DECIMAL OLARAK 32.760 OLUR
– 10 BAR 32760 ÜRETİRSE – 5.8 BAR 19.001 ÜRETİR
----| > ı |---|SM0.5|---(Q0.0) AIW0
19001
UYGULAMA-3
• AIWO ADRESİNE UYGULANAN 0-10V ARASI GERİLİM İLE FARKLI FREKANSLARDA KARE DALGA ÜRETİMİ
YÜKSEK HIZLI ÇIKIŞLAR, PTO &
PWM
YÜKSEK HIZLI ÇIKIŞLAR
• PLC’LERDE NORMAL TARAMA DÖNGÜSÜ DIŞINDA ÇALIŞAN HIZLI PALS (PTO) VE
GENİŞLİK MODÜLASYONU (PWM) ÇIKIŞLARI VARDIR
• S7-200 AİLESİNDE Q0.1 VE Q0.2 ADRESLERİ HIZLI ÇIKIŞ OLARAK KULLANILABİLİR
PTO
• «PULSE TRAIN OUTPUT» KELİMELERİNİN KISALTILMIŞIDIR
• YÜKSEK FREKANSTA KARE DALGA ELDE ETMEK İÇİN KULLANILIR
OFF 1/2
ON 1/2 CYCLE
PTO
• YÜKSEK HIZLI KARE DALGALAR (PTO)
GENELLİKLE STEP MOTOR KONTROLÜNDE KULLANILIRLAR
KARE DALGA STEP MOTOR
SÜRÜCÜ
PTO
• PTO SİNYALİ ELDE ETMEK İÇİN SİHİRBAZ KULLANILIR
PWM
• «PULSE WIDTH MODULATION»
KELİMELERİNİN KISALTILMIŞIDIR
• DALGANIN ON/OFF SÜRESİNİ DEĞİŞTİREREK ELDE EDİLEN SİNYALDİR; BÖYLECE ORTALAMA ÇIKIŞ VOLTAJI DA DEĞİŞİR
• ÇIKIŞ VOLTAJI=NORMAL ÇIKIŞ VOLTAJI x PALS GENİŞLİĞİ / PERİYOT
PWM
• T=4 SN İSE
– ÇIKIŞ VOLTAJI=24 x 1/4 = 6 VOLT
OFF 3/4T
ON 1/4T T
24V
PWM
• PWM GENELLİKLE DC MOTOR HIZ KONTROLÜNDE KULLANILIR
PWM DALGA DC MOTOR
PWM
• PWM SİNYALİ ELDE ETMEK İÇİN SİHİRBAZ KULLANILIR
HIZLI SAYICILAR
HIZLI SAYICILAR
• NORMAL ÇEVRİM HIZIYLA YAKALANAMAYAN YÜKSEK HIZLI GİRİŞLERİ SAYMAK AMACIYLA KULLANILAN SAYICILARDIR
• HIZLI SAYICILARDA MAKSİMUM OKUMA FREKANSI 20KHZ İLE 200KHZ ARASI
DEĞİŞEBİLİR; FREKANSA GÖRE PLC TERCİH EDİLMELİDİR
HIZLI SAYICILAR
TARAMA SÜRESİ
PROGRAMI ÇALIŞTIR GİRİŞLERİ
OKU
ÇIKIŞLARA YAZ
I0.0
HIZLI SAYICILAR
• KLASİK SAYICILARDA OLDUĞU GİBİ, YUKARI, AŞAĞI VE YUKARI-AŞAĞI SAYABİLİRLER
• HIZLI SAYICILARIN GİRİŞ SİNYALİ TEK SİNYAL OLABİLDİĞİ GİBİ ÇİFT SİNYAL DE OLABİLİR
• HIZLI SAYICILARA GENELDE GİRİŞ SİNYALİ OLARAK ENCODER ÇIKIŞI VERİLİR
ENCODER
• BİR MİLİN DÖNÜŞÜ İLE BELLİ BİR MİKTARDA KARA DALGA ÜRETEN CİHAZLARDIR
• ÖRNEĞİN MİLİN/MOTORUN BİR TURUNDA 8,16, …, 100, 200 VEYA 360 KARE DALGA ÜRETEBİLİRLER; BÖYLECE KARE DALGA SAYISINA BAKARAK MOTORUN DÖNÜŞÜ KONTROL EDİLİR
ENCODER
• ÇOK DEĞİŞİK BOY VE ÖZELLİKLERDE
ENCODER
BULUNMAKTADIR
• TEK FAZLI, ÇİFT FAZLI, ARTIMLI VE MUTLAK ENCODERLAR
BULUNMAKTADIR
ENCODER
HIZLI SAYICI GİRİŞLERİ
• FARKLI HIZLI SAYICI ADRESLERİ FARKLI PALS GİRİŞİ, YÖN KONTROL, RESET VE START
GİRİŞLERİ KULLANIR
• BU NEDENLE HANGİ SAYICI KULLANILACAKSA ONA GÖRE BAĞLANTI VE AYAR YAPILMALIDIR
• SONRAKİ SLAYTTA HIZLI SAYICILAR VE GİRİŞ PORTLARI GÖRÜLÜR
HIZLI SAYICI GİRİŞLERİ
ENCODER MODLARI
• ENCODER’LAR HIZLI SAYICILARDA 12 FARKLI MODDA ÇALIŞTIRILABİLİR
• BİR SONRAKİ SLAYTTA HANGİ MOD’UN HANGİ PORTLARLA ÇALIŞTIĞINI VE İŞLEVİNİN NE
OLDUĞUNU BELİRTEN TABLOYU GÖREBİLİRSİNİZ
ENCODER MODLARI
HS SİHİRBAZI
OPERATÖR PANELLER
OPERATÖR PANELLER
• OPERATÖR PANELLER, PLC’DEKİ VERİLERİ İZLEMEYE VEYA DEĞİŞTİRMEYE YARAYAN
METİN VEYA GRAFİK YABANLI EKRANLARDIR
• ÖRNEĞİN BİR SAYICININ DEĞERİ İZLENEBİLİR VEYA BİR REZİSTANSIN ÇALIŞACAĞI
MAKSİMUM SICAKLIK GİRİLEBİLİR