plc soft kullanim kitapÇiĞi - nevakontrol.comf1a0ee52c6f74417a95d86698675b60a.pdf · numarasi(...

40
1 PLC SOFT KULLANIM KITAPÇIĞI CP25 Basic diline benzeyen bir dille programlanabilen, özellikle kontrol, izleme ve arabirim olmak için tasarlanmış endüstriyel bir elektronik cihazdır. Üzerinde endüstriyel ortamlar için tasarlanmış digital ve analog giriş çıkışlar, pt100 girişleri, hızlı sayıcı girişi, haberleşme portları, tuş takımı ve arkadan aydınlatmalı 128x64 pixel grafik ekranı bulunmaktadır. Ekran ve cihaz programlanması aşağıdaki gibidir. PROGRAMLAMA: Kullanıcı programlarını Basic 'e benzeyen bir dille programlayabilmektedir. Değişkenler daha önceden tanımlanmış durumdadır (MW, MB, SW, SB ,INP, OUT,TMR olarak) Bu değişkenlere isim vererek program içinde kullanmak mümkün olmaktadır. Mesela MW13 için Sicaklik gibi. (Bakınız Değişkenler bahsi) MW (signed intreger) ve MB (bit) türünden değişkenlerin son değerleri elektrik kesilse dahi sistem tarafından pil yardımı ile korunmaktadır. Değişken tipleri: Nesneleri yada sabitleri ifade ederken kullanılırlar. Beş cins değer vardır : 1. Boolean Value Bit değerleridir. “ON” yada “OFF” olabilirler. Örn: mb28 = on mb22 = off 2. Integer Value Tam sayılardır, uzunluğu bir word’dur( 2 Byte). Örn: mw15 = 12 3. Real Value Gerçek sayıları kapsar, ifade ederken arada nokta içerir. İki word uzunluğundadır, başka bir deyişle atandığı word’u ve bir sonrakini kapsar. Örn: fw6 = 3.14 4. Double Value Bir word’e sığmayan, iki word uzunluğundaki sayılardır. İfade ederken sayının sonuna “D” yazılır. Örn: dw12 = 12D 5.String Value İki tırnak içerisindeki ifadelerdir. Örn: “Cizgi”

Upload: hakhanh

Post on 16-Aug-2019

242 views

Category:

Documents


0 download

TRANSCRIPT

1

PLC SOFT KULLANIM KITAPÇIĞI CP25 Basic diline benzeyen bir dille programlanabilen, özellikle kontrol, izleme ve arabirim olmak için tasarlanmış endüstriyel bir elektronik cihazdır. Üzerinde endüstriyel ortamlar için tasarlanmış digital ve analog giriş çıkışlar, pt100 girişleri, hızlı sayıcı girişi, haberleşme portları, tuş takımı ve arkadan aydınlatmalı 128x64 pixel grafik ekranı bulunmaktadır. Ekran ve cihaz programlanması aşağıdaki gibidir. PROGRAMLAMA: Kullanıcı programlarını Basic 'e benzeyen bir dille programlayabilmektedir. Değişkenler daha önceden tanımlanmış durumdadır (MW, MB, SW, SB ,INP, OUT,TMR olarak) Bu değişkenlere isim vererek program içinde kullanmak mümkün olmaktadır. Mesela MW13 için Sicaklik gibi. (Bakınız Değişkenler bahsi) MW (signed intreger) ve MB (bit) türünden değişkenlerin son değerleri elektrik kesilse dahi sistem tarafından pil yardımı ile korunmaktadır. Değişken tipleri: Nesneleri yada sabitleri ifade ederken kullanılırlar. Beş cins değer vardır : 1. Boolean Value Bit değerleridir. “ON” yada “OFF” olabilirler. Örn: mb28 = on mb22 = off 2. Integer Value Tam sayılardır, uzunluğu bir word’dur( 2 Byte). Örn: mw15 = 12 3. Real Value Gerçek sayıları kapsar, ifade ederken arada nokta içerir. İki word uzunluğundadır, başka bir deyişle atandığı word’u ve bir sonrakini kapsar. Örn: fw6 = 3.14 4. Double Value Bir word’e sığmayan, iki word uzunluğundaki sayılardır. İfade ederken sayının sonuna “D” yazılır. Örn: dw12 = 12D 5.String Value İki tırnak içerisindeki ifadelerdir. Örn: “Cizgi”

2

MB, INP,OUT,SB MB : Bit değerleridir. “ON” yada “OFF” olabilirler. MB ‘ler PLC ‘de bit türünden kullanılan değişkenlerdir. İki çeşit kullanma yöntemi vardır. Birincisi editör kisminda sadece mb135 seklinde, ( mb + numarasi ) yazilarak, MB12=on MB34=MB25 gibi. İkinci yöntem ise, memory bit tanimlama ekranindan, değisken ismi verilerek. Vana=on Sistem=Vana MB Tanımlama Ekranı Bu ekrandan toplam 2048 adet memory bit’i kullanıp, tanımlayabilirsiniz. Memory bit’ler MB0’dan başlar ve MB2047’de biter. Tanımlama kismina, kullanilmak istenilen degisken isimleri yazilir. Değer kismi, debug olunduğunda; anlik değerleri görmek veya değerleri değiştirmek için kullanilir. Açıklama kimsi, kullanıcının kendi notlarını tutabilmesi için ayrılmış olan kısım. Örnek : (MB12 ye Motor1 ismi atanmış olsun) Motor1=on ( Mb12 = ON )

3

INPUT(Girişler) : CP-25 PLC ‘nin 16 digital girişinin tanimlamasi.Tanimlama inpX cinsinden editör kisminda ( inp + numarasi ) şeklinde aşağıdaki gibi yapılabilir. Mb45 = inp0 Motor1= inp1

Yada, degisken isim tanimlamasi ile kullanilabilir. Tanimlama kismina, kullanilacak degisken isminin yazilmasi, tanimlama icin yeterli olacaktir. Tanimlanan degisken değerini tanimlandiği inputun değerinden alır. Değer kısmı ise, anlık input değerini görüntülemek için kullanilir. Açıklama kimsi, kullanıcının kendi notlarını tutabilmesi için ayrılmış olan kısım. OUTPUT(Cikislar): PLC nin 16 digital cikisinin tanimlamasi.Tanimlama out4 cinsinden editör kisminda ( out + numarasi) şeklinde aşağıdaki gibi yapilabilir. Out0=Mb45 Out1=Motor1

4

Yada, degisken isim tanimlamasi ile kullanilir. Tanimlama kismina, kullanilacak degisken ismin yazilmasi, tanimlama icin yeterli olacaktir. Outputun degeri tanimli oladuğu degiskenin degeridir. Deger kismi, debug olunduğunda anlik degeri gormek icin kullanilir. Açıklama kimsi, kullanıcının kendi notlarını tutabilmesi için ayrılmış olan kısım. SB(Sistem Bit): PLC ‘nin kendi sistemi içinde oluşturduğu veya dışarıdan kullanicilarin sınırlı olarak müdahale edebildiği bitlerdir. Kullanici bu bitlerin değerlerini SbX şeklinde veya değişken ismiyle editör kısmında yazarak kullanabilir. Mb78 = SB5 Mb78 = YarimSanOut SB0(Startup): PLC ‘nin sadece açılışta, ilk taramada ON olan ve bunun haricinde OFF olan sistem biti. Kullanım sekli ; if(SB0) veya if(StartUp) ……. …..... Endif Endif

5

YuzMsOut : 100milisaniye ON, 100 milisaniye OFF konumunda calimaktadir. YarimSanOut: Yarim saniye ON, Yarim Saniye OFF konumunda calismaktadir. BirSanOut : Bir saniye ON, Bir Saniye OFF konumunda calismaktadir. YuzMsOut, YarimSanOut , BirSanOut bitleri sistem tarafından kullanıcı için oluşturulan değişik periyotlardaki kare dalga bitleridir. Edit Mod : Edit mod PLC ‘ye Operatör panel kısmından değer girilirken, değer girme süresince ON konumundadır. Ekrana Giris : Ekran değiştirme esnasında bir scan time süreliğine ON konumuna geçer. Ekran Tuslari: Ekrandaki tuslara basildiği anlarda ON olan sistem bitleri. SB24 ile SB48 arasi. Örn: SB24 ( Tus_1 ) Operatör panel üzerinden 1 tusuna basıldığı sürece ON konumuna geçer. Sifre Tipi : Sifre tipinde degiskene ekrandan bilgi girisi tamamlandiginda bir scan time ON olur. Edit iptal : Edit edilirken(Ekrandan Deger Girilirken) kullanicinin degisiklikten vaz gecip ESC tusu ile degisiklik yapmadan ciktigi durumlarda bir scan time ON olur. SB101(RS232EndCharRecv): RS232 portundan gelen datadan, sonlandirma karakterini belirtir. Sonlandırma karakteri geldiğinde ON konumuna geçer. ClearRS232ReceivedData() : Komut ici bos 2 parentez ile birlikte kullanilir. Mesaj buffer’ını siler ve RS232EndCharRecv bitini tekrar eski konumuna getirir.( OFF konumuna getirir.)

6

SB100(RS485EndCharRecv): RS485 portundan gelen datadan, sonlandirma karakterini belirtir. Sonlandırma karakteri geldiğinde ON konumuna geçer. ClearRS485ReceivedData() : Komut ici bos 2 parentez ile birlikte kullanilir. Mesaj buffer’ını siler ve RS485EndCharRecv bitini tekrar eski konumuna getirir.( OFF konumuna getirir.) MW,DW,FW,SW

Bu değişken tipleri sayısal değer içerirler. MW (MemoryWords) : Tam sayılardır. Bir word uzunluğundadırlar.( 2 Bayte). Mw’ler Signed short (-32,768 ile 32,767 arasında) arasında değer alabilen değişkenlerdir. Örnek: Mw25=12 Mw15=mw25+12 Mw65= (3*mw15) – (mw25*3) (MW25'e sicaklikset ismi atanmış olsun ve MW25 signed integer olarak seçilsin) Sicaklikset = 36 DW (Double Words): Double wordler 32 bit olup iki adet MW'ün birleşmesiyle oluşurlar.(-2,147,483,648 ile 2,147,483,647 arasında) Long sayilar 32 bit olduğu için iki adet MW kullanırlar. MW30 long olarak seçildiğinde MW30 ve MW31 DW30 için kullanılır. MW31 in başka bir işlem için kullanılmamasına kullanıcı dikkat etmek zorundadır. Dw ‘lerle aritmetik işlem yapilirken, sayilarinda double olmasi gerekmektedir. Örnek: DW30=DW46+2D (MW30'a counter ismi atanmış olsun ve MW30 long olarak seçilsin) counter = counter + 1D FW (Float Word): Gerçek sayıları (Real Value) kapsar, ondalık hanelerine sahip olan sayılardır.(ifade ederken arada nokta ile kullanılırlar.) İki word uzunluğundadır, başka bir deyişle atandığı word’u ve bir sonrakini kapsar.

7

Noktalıklı işlemler yapmak için kullanılırlar. Matematiksel işlemlerin basitleşmesi ve kullanıcıya kolaylık sağlamak için konulmuş bir özelliktir.Float (1.18 10^-38 ile 3.40 10^38 7 digit hassasiyet) Fw ’lerle i aritmetik işlem yapapılırken, sayılarında ondalıklı olması gerekmektedir. fw40 = fw60*60.0 + 23.5 (Y=ax+b) FW ler de 2 adet MW'ün birleşmesi ile oluşur. FW30 : MW30 ile MW31 i kullanır. Float işlemler yapısı itibarı ile yavaş işlemlerdir. Programlarda dikkatli kullanılmaları gerekmektedir. WORD Tanımlama Ekranı 1024 adet MW (memory word) vardır. Mw0’dan başlar ve Mw1023’te biter. Tanımlama editör kisminda ( Değişken Türü + w + numarasi) şeklinde aşağıdaki gibi yazılabilir ve kullanılabilir. Mw4 = Mw5+1 Fw34 = Fw36 + 1.0 Dw45 = Dw47 + 1D Yada değisken ismi tanimlanarak editor ekranında değişken isim kullanilabilir. Ayrıca kullanılacak değişken tipi (ineteger, real, long), tip kısmından belirtilir. Mw,Fw,Dw Tanimlamak icin Obje Agacindan MW sekmesi secilir.Tanim kismina kullanilmak istenilen degisken ismi yazilir. Tip kisminda ise kullanilacak degiskenin tipi secilir.( MW,FW veya DW ).

Yandaki şekilde değiskene Cizgi ismi verilmis ve tip secilme islemine geçilmiş. Bu ekranda en üstte iki adet kutucuk vardır. Bunlardan birincisine erişmek istediğiniz satırı yazıp istediğiniz satıra kolayca geçebilir; diğeriyle de tablo içinde istediğiniz bir sözcüğü (Değişken isimlerini) aratabilirsiniz.

8

SW(Sistem Word): PLC ‘nin kendi sistemi içinde oluşturduğu veya dışarıdan kullanicilarin sınırlı olarak müdahale edebildiği wordlerdir. Kullanici isterse bu wordlerin değerlerini Memory Word ‘lere atama yaparak kullanabilir.

PlcCycleTime : PLC ‘nin programi tarama hizi. MmiScreenNo : PLC ‘nin o anda bulunduğu ekran numarasi. MmiEditVarNo : PLC ‘nin o anda bulunduğu ekranda edit edilebilen degiskenlerin sira numarasi( Degisken numarasi degil ekrandaki sirasi). KeyNo : PLC ‘nin panelinde bulunan tuslarin SW tarafindan numaralandirilmasi.Basilan her tusun bir numarasi vardir.Basili oldugu surece tusun numara degerini alir. VersionNo : PLC ‘nin hardware yazilim version numarasi. Second : PLC saatinin saniye değeri. Minute : PLC saatinin dakika değeri. Hour : PLC saatinin saat değeri. Year : PLC tarihinin yil degeri. Month : PLC tarihinin ay degeri. Day : PLC tarihinin gun degeri. SW80(AnalogIn0) :Analog input 0 ‘in word değeridir. 11 bit ‘lik çözünürlüğe sahiptir. 0 - 10V arası çalışmaktadır. 0-10V 0 - 2047 değerini alir. SW81(AnalogIn1) : Analog input 1 ‘in word değeridir. 11 bit ‘lik çözünürlüğe sahiptir. 0 - 10V arası çalışmaktadır. 0-10V 0 - 2047 değerini alir.

9

SW82(AnalogIn2) : Analog input 2 ‘in word değeridir. 11 bit ‘lik çözünürlüğe sahiptir. 0 - 10V arası çalışmaktadır. 0-10V 0 - 2047 değerini alir. SW83(AnalogIn3) : Analog input 3 ‘in word değeridir. 11 bit ‘lik çözünürlüğe sahiptir. 0 - 10V arası çalışmaktadır. 0-10V 0 - 2047 değerini alir. SW84(AnalogIn4) : PT100 girislerinden PT2 ‘in word degeri. SW85(AnalogIn5) : PT100 girislerinden PT1 ‘in word degeri. Not: PT100 girişlerinin kullanılabilinmesi için, Pt100 girişlerinin en az 2 sıcaklık değerine göre kalibre edilmelidir. SW101(HSCHigh) :High Speed Counter değerini alır. HSC girişi gelen puls sayılarını toplar. SW120(Analogout0) : Analog çıkış 0 ‘ ın word değeridir.. 8 bit ‘lik çözünürlüğe sahiptir.0-10 V arasi calişmaktadir. 0 - 255 0 - 10 V çıkış verir. SW121(Analogout0) : Analog çıkış 1 ‘ ın word değeridir.. 8 bit ‘lik çözünürlüğe sahiptir.0-10 V arasi calişmaktadir. 0 - 255 0 - 10 V çıkış verir. SW122(Analogout0) : Analog çıkış 2 ‘ nın word değeridir.. 8 bit ‘lik çözünürlüğe sahiptir.0-10 V arasi calişmaktadir. 0 - 255 0 - 10 V çıkış verir. SW123(Analogout0) : Analog çıkış 3 ‘ un word değeridir.. 8 bit ‘lik çözünürlüğe sahiptir.0-10 V arasi calişmaktadir. 0 - 255 0 - 10 V çıkış verir. LEDLER: Out16 = F1 ledi

Out17 = F2 ledi Out18 = F3 ledi Out19 = F4 ledi Out20 = F5 ledi Out21 = F6 ledi

TIMER TIMER0 ’dan TIMER47 ’ye kadar 48 tane değişik timer kullanabilirsiniz. Timer'lara farklı isim verebilir, ne kadar süreceğini “dakika : saniye : onmilisaniye” cinsinden belirleyebilirsiniz. Timer'lar “On Delay” timer olduğu için preset değeri sonunda ON konumuna geçer. İsterseniz timer'ların preset değerini cihaz içindeki flash hafızada saklayabilir ve böylelikle cihaz resetlendiğinde aynı değeri kaldığı yerden kullanabilirsiniz aksi halde her seferinde baştan başlayacaktır.

10

Timer Tanımlama : Aşağıdaki şekilde Tanımı kısmına kullanılmak istenilen değişken ismi yazilir. Şekilde timer1'de Cizgi isimli bir timer oluşturulmuş. Cizgi timer’ına preset kısmında 3 saniyelik bir gecikme girilmis ve bu gecikme “Save To Flash” kısmının ON yapılması ile timer gecikme değeri flash hafızaya yazılmıştır. Timer Preset Değeri Tanımlama : Programda istenilen timer'ın preset değeri tanımlanabilir. İsim verilmemiş olan timer'lara preset değeri atamak için timerp0 – timerp47 ifadeleri kullanılır. 00:00:00 = dakika : saniye : onmilisaniye “timerp0 = 100” ataması timer0'ın preset değerini 1 sn yapacaktır. timerp23 = 3500 ataması ise timer23'ün preset değerini 35 sn yapacaktır. İsim verilmiş olan timer'lara da preset değeri atamak mümkündür. Örneğin timer'ın ismi startuptimer olsun. “startuptimer_p = 700” ataması yapılarak startuptimer'ın preset değeri 7 sn olarak tanımlamış olduk. Bu atamaların PLC'nin enerjisi kesilip tekrar verildikten sonra da geçerli olabilmesi için TIMER ekranında ilgili timer'ın Save To Flash özelliği off konumunda olmalıdır. Timer Anlık(Actual) Değerinin Kullanımı : Programda istenilen timer'ın anlık değeri kullanılabilir. İsim verilmemiş olan timer'ların anlık değerini kullanmak için timera0 – timera47 ifadeleri kullanılır. İsim verilmiş olan timer'ların anlık değerini kullanmak da mümkündür. Örneğin timer'ın ismi kademetimer olsun. “startuptimer_p = kademetimer_a” ifadesi ile kademetimer'ın anlık değeri startuptimer'a preset değeri olarak atanmış olur.

11

Timer Reset : Programda istenilen timer'ı resetlemek mümkündür. İsim verilmemiş olan timer'ları resetlemek için timerr0 – timerr47 ifadeleri kullanılır. “timerr0 = on” ataması ile timer0 resetlenir ve tekrar preset değerinden geriye doğru saymaya başlar. İsim verilmiş olan timer'ları da resetlemek mümkündür. “startuptimer_r = on” ataması yapılarak startuptimer resetlenebilir. PROGRAMLAMA 1.Atama İşlemleri MB28=on motorariza= off mw13=12 sicaklik=28.0*12.0 (float türürnden) dw12=dw25 + 5d (long türünden) mw25='a' ascii olarak a karakterinin degeri atanır :Decimal 97 mw25= 0xff Hexadecimal ff sayisi mw25 e atatnir. Decimal 255 2.Karşılaştırma İşlemleri = (Eşitlik) mb6= (mw8=0) (mw8, 0 a eşit ise mb6 ON değeri alır, aksi taktirde OFF değeri alır.) > Büyüktür (sadece mw,dw,float için) mb5= mw12>mw36 >= Büyük Eşittir (sadece mw,sw,dw,float için) mb5= mw12>=mw36 < Büyük Eşittir (sadece mw,sw,dw,float için) mb5= mw12<mw36 <= Küçük Eşittir (sadece mw,sw,dw,float için) mb5= mw12<=mw36 <> Eşit Değildir (sadece mw,sw,dw,float için) mb5= mw12<>mw36

12

3. Aritmetik İşlemler + : Toplama mw25=mw25+12 - : Çıkarma fw12= fw12-1.0 * : Çarpma mw13= sicaklik*12 / : Bölme dw46= dw46/36D 4.Mantıksal İşlemler Bit türünden değişkenlerde kullanılır. And : İki bit türünden büyüklüğü “and” lemek için kullanılır. mb15= mb16 and mb18 or : İki bit türünden büyüklüğü “or” lamak için kullanılır. mb15= mb16 or mb18 xor : İki bit türünden büyüklüğü “xor” lamak için kullanılır. mb15= mb16 xor mb18 not : bit türünden bir büyüklüğün tersini almak için kullanılır mb15= mb16 and not mb18 5.Koşullu Dallanmalar (if ve while deyimleri) if deyimi: Bu deyim koşullar yaratmakta kullanılır. “if” ile başlamalı ve “endif” ile bitirilmelidir. Bir yada birden fazla kısımdan oluşabilir. “if” yada “elseif” sözcüğünden sonra daima bir koşul belirtilmelidir ve belirtilen koşul parantez içinde olmalıdır. Koşulun sonucu “1” (yani True) ise ifadenin “if” sözcüğünden sonraki kısmı gerçekleştirilir aksi takdirde gerçekleştirilmez. Eğer “else” anahtar sözcüğü kullanılmışsa koşul gerçekleşmediği takdirde “else” ile başlayan kısım icra edilir.

13

if (koşul) ...ifade1 ...ifade2

else ...ifade3

endif Mesela sicaklik 25 ten büyükse motoru1'i aç. Isıtmayı kapat gibi. if ( sicaklik>25) motor1=on isitmacikis=on endif else deyimi ise eğer if parantezi içindeki şart sağlanmiyor ise program else komutuna atlayarak devem eder. If(sicaklik >25) motor1=on isitmacikis=on else motor2=on isitmacikis=off endif gibi. Bir de bir kaç tane ifadeyi test ederek ilk gerçekleşene dallanma istenebilir. Mesela if (sicaklik> 25 ) motor1 =on elseif( sicaklik>20) motor2=on elseif( sicaklik>15) motor3=on endif Burada önce sicaklik>25 test ediliyor. Eğer doğru ise (true) motor1 on yapılıp program endiften sonraya dallanır. Doğru değil ise sicaklik >20 ile karşılaştırılır. Doğru ise motor 2 on yapılıp endiften sonraya dallanır. Doğru değil ise sicaklik 15 ten büyük mü diye karşılaştırılırdöğru ise motor3 on yapılır. Yukarıdaki ifadeye else koşulu da eklenebilirdi. O zaman if ve elseif teki ifadelerin hapsi yanlış ise else koşuluna program dallanır. If deyimi içersindeki ifade karmaşık bir ifade olabilir. Mesela: if(mb3 and mb4 or (mw12>mw25) and (fw12+1.0 > fw25) ) motor1=on endif

14

while deyimi: while deyimi parantez içersindeki ifade doğru olduğu sürece program while ve endwhile deyimler arasında döngü kurulur. Döngünün bitiminde daima “endwhile” anahtar sözcüğü kullanılmalıdır. Belirtilen koşul parantez içinde yazılmalıdır. while (koşul)

…ifade1 endwhile

While(mb5) mw12=mw12+1 mb5= mw12>=100 endwhile mb5 on olduğu sürece mw12 bir arttırılır. Mw12 100 e büyük ve eşitse döngü sona erer. Döngüyü koşulsuz olarak olduğu yerde sonlandırmak için break deyimi kullanılır. While(1) //sonsuz döngü mw12=mw12+1 if(mw12>100) break endif endwhile labelling Program içinde istenilen satırları etiketlemek için kullanılır. Daha sonra program içerisinde başka bir satırdan bu satıra sıçramak için “goto” ile beraber bu etiket adı kullanılır. Etiket tanımlamak için, isim ve ardından “:” işareti gelmelidir. Örn: abc: Koşulsuz Dallanmalar: goto Programın akışı içerisinde bulunulan yerden baksa bir yere sıçramak için kullanılır. “goto” sözcüğünden sonra daima bir etiket gelmelidir. Örn: goto abc Programda bazen koşulsuz olarak bir yere dallanmak isteyebilirsiniz. Bu işlem için goto deyimi kullanılır.

15

Mesela: 1 if (sicaklik>100) 2 goto adim1 3 endif 4 motor=off 5 goto adim2 6 adim1: 7 motor=on 8 adim2: Yukarıdaki örnekte eğer sicaklik 100 den büyükse program satır6'daki adim1 isimli etikete (label) zıplıyor. Ve satır4 ve 5 teki işemler yapılmıyor! Goto kullanmak genellikle pek tavsiye edilmez. Goto yerine koşullu dallanmaları tercih etmeniz tavsiye edilir. Bazı durumlarda ise goto kullanılmak gerekebilir. Bu gibi durumlarda programa çok dikkat etmemiz gerekmektedir. Aritmetik Operatörler: Nesne ve sabitlerle dört işlem yapmaya yararyan operatörlerdir. İşlem yapılan değerlerin aynı cins olmasın gerekmektedir. Farklı türden değerler, çevirme fonksiyonları kullanılarak işleme sokulabilir. * Çarpma / Bölme + Toplama - Çıkartma = Atama İlişkisel Operatörler: Nesneler ve sabitler arasında karşılaştırma yapmaya yarayan operatölerdir. Sonucu “1” (True) yada “0” (False) olarak yorumlanır. < Küçük > Büyük <= Küçük veya Eşit >= Büyük veya Eşit <> Eşit Değil = Eşit Mantıksal Operatörler: Mantıksal işlem yapmaya yarayan operatötlerdir. Operandaları bit (MB yada SB) olmalıdır, word’ler ile kullanılmazlar. Sonucu “1” (True) yada “0” (False) olarak yorumlanır. and ve or veya xor özel veya not değil

16

Operatörlerin Öncelik Sırası: Bir ifade içerisinde birden fazla işlem yaparken bu işlemlerin belli bir sırayla gerçekleşeceğini unutmamak gerekir. Belli işlemlerin diğerlerine göre önceliği vardır. Aşağıda operatörlere göre öncelik sırası sıralanmıştır. ( ) not * / + - > >= < <= = <> and xor or Hem programın okunabilrliğini arttırmak hem de yaptığımız işten emin olmak için her zaman karışık ifadelerde gereksin gerekmesin parantezleri kullanmakta büyük fayda bulunmaktadır. Fonksiyonlar: Bit Fonksiyonları: MBxx= GetBit(int value, int bitno) MWxx= SetBit(int value, int bitno) MWxx= ResetBit(int value, int bitno) MBxx = GetIndexedMBit (int MBNo) Word Fonksiyonları: MWxx= GetValueWord(int mwordno) VectorCopy (int source mwordno,int dest mwordno,int adet) MWxx=ShiftRight (int value, int shiftno) MWxx=ShiftLeft (int value, int shiftno) MWxx = MWAnd (int value,int MWNo) MWxx = MWOr (int value,int MWNo) MWxx = MWXor (int value,int MWNo) Byte Fonksiyonları: MWxx= GetValueByte (int value,bool highlowword) SetValueByte (int source MWNo, bool HLWord, int dest WordNo,bool dest HLWord) MWxx= ClearByte (int value,bool HLWord) MWxx= ExchangeByte (int value) VectorCopyB ( int SourceMW,int DestMW,int Number,bool HLWord)

17

Sistem Fonksiyonları: MWxx = FlashRead (int Pageno,int Start,int MWordno,int Adet) MWxx = FlashWrite (int PageNo,int StartVal,int MWordno,int Adet) Çevirme Fonksiyonları: FWxx = Floatc (int veya long value ) DWxx = Longc (int veya float value ) MWxx = intc (long veya float value ) String İşlemleri: CopyStringToWord (constint MWNo,bool HLWord,text) IntToMWString(constint MWNo,bool HLWord, constint HaneNo, consting NoktadanSonraHane,int Deger) Yardımcı Fonksiyonlar: FWxx =PidControl(constint MWNo) Filtre (constint MWNO) 6.Indexli İşlemler (Array işlemleri) 1.MW indexli işlemler: Program yazarken bazı durumlarda MW lere bir index ile ulaşmak isteyebilirsiniz. Mesela: Mw[mw5]=0 MW5=12 ise MW12 ye 0 atanmaktadır. Mw3= mw[ mw7] mw7=12 , mw12= 25 ise mw3'e 25 sayisi atanır. 2.MB indexli işlemler: MB lere indexli olarak ulaşmak için kullanılır. Mb[mw5]=on eğer mw5=12 ise mb12 on olur! Mb5= mb[mw12] mw12 30 ise mb30 off ise mb5'e off değeri atanır.

18

3.Char tipinden indexli işlemler: MW ler iki adet byttan oluşurlar(16 bit). Mwlere char deyimi ile byte byte ulaşmak mümkün olmaktadır. Mesela: mw15=0 //mw15 e sifir degeri atayalim!! char[30]=12 char[30] mw15 in ilk byte'ıdır. Buraya 12 değeri atanmaktadır. Bu durumda MW15 12 değerini içerir. Char[31]=01 char[30] mw15 in ikinci byte'ıdır. Buraya 1 değeri atanmaktadır. Bu durumda MW15 1*256 +12 268 sayisini içerir! Char[300] mw150'nin ilk byte'ıdır. Char[401] mw200'nin ikinci byte'ıdır. Char[ mw3 ]= 12 mw3=150 ise char[150] 12 yapılır. (mw75 in ilk bytı) char ifadeleri özellikle haberleşme ve reçete işlemleri için büyük kolaylıklar sağlamaktadır. 6.FONKSİYONLAR: Fonksiyonlar programcının işini kolaylaştırmak, programlama diline yeni özellikler eklemek ve donanım ile prgram arasında ilişki kurulmasını kolaylaştırmak için tasralnmış program parçacıklarıdır. 1.Dönüştürü fonksiyonlar: a. MW'e dönüştüren fonksiyonlar:

int intc( float ) int intc( double word)

: intc bir float veya DW değişken veya sayıyı MW (integer) türüne dönüştürür. Mesela:

fw25=fw36*12.0 mw12= intc(fw25) burada float türünden bir sayı ineteger bir değişkene atanıyor. b. FW'e dönüştüren fonksiyonlar:

float floatc( int ) float floatc( double word)

: floatc bir int(mw) veya DW değişken veya sayıyı FW (float) türüne dönüştürür. Mesela:

mw25=mw36*12 fw12= floatc(mw25) burada int türünden bir sayı float bir değişkene atanıyor.

19

c. DW'e dönüştüren fonksiyonlar:

long longc( int ) long longc( float)

: longc bir int(mw) veya float değişken veya sayıyı DW (long) türüne dönüştürür. Mesela:

fw25=fw36*12.0 dw12= longc(fw25) burada float türünden bir sayı DW bir değişkene atanıyor. 2.String İşlemleri: a. CopyStringToWord (constint MW,bit deger, char string) Bu fonksiyon mwlere bir karakter dizisi kopyalamak içindir. CopystringtoWord(100,off,”Katar1”) Yukarikdaki fonksiyon mw100 ün ilk baytından itibaren mw103 e kadar Katar1 dzisini kopyalar. Bu fonksiyon ascii haberleşme, seri printer'a basma ve ekrana değişik mesajlar çıkarmak (ekranın pointer text özelliği) için kullanılır. İlk parametre katarın kopyalanacağı mwno, ikinci parametre bu mwnonun ilk bytı mı iknci bytı mı olacağı, üçüncü parametre ise katarın kendisidir. b. IntToMWString(constint MW,bit deger, constint MW, constint MW,int Value) mw türünden bir değeri ascii katara çevirmek için kullanılır. Ilk parametre ascii katarın başlangıç word nosu, ikinci parametre bu mwnonun ilk bytı mı iknci bytı mı olacağı, üçüncü parametre kaç hane basılacağı, dördüncü parametre noktadan sonra kaç hane olacağı , beşinci parametre ise asciiye çevrilecek değerdir. IntToMWString(100,off,6, 1,12345) mw100 'e low bytından başlayarak (ilk bytı) toplam noktadan sonra bir hane olmak üzere 6 hane”1234.5” yazılır. Bu fonksiyon CopystringtoWord fonksiyonu gibi ascii haberleşme, seri printer'a basma ve ekrana değişik mesajlar çıkarmak (ekranın pointer text özelliği) için kullanılır. 3.ChangePage fonksiyonu: ChangePage(constint pageno) Bu fonksiyon program içersinden MMI'ın ekranın değiştirmek için kullanılır.

20

If(alarm1) Changepage(5) endif bu durumda alarm1 on ise 5 numralaı ekrana zıplanıyor. 4.Word Fonkisyonları: int Shiftleft (int): bir int tipi sayıya sola doğru bir kaydrma işlemi yapar. Mw12=1 mw13=Shiftleft (mw12) mw13 2 ye eşittir! int Shiftright (int): bir int tipi sayıya sağa doğru bir kaydrma işlemi yapar. Mw12=2 mw13=Shiftright (mw12) mw13 1 'e eşittir! Int mwand(int value , int value): iki int tipinden sayıya aritmetik andleme işlemi uygulanır. Mw3=3 mw1=1 mw2= mwand(mw3,mw1) mw2 1 sayısı atanır! Int mwor(int value , int value): iki int tipinden sayıya aritmetik orlame işlemi uygulanır. Mw3=2 mw1=1 mw2= mwor(mw3,mw1) mw2 3 sayısı atanır! Int mwxor(int value , int value): iki int tipinden sayıya aritmetik xorlame işlemi uygulanır. Mw3=2 mw1=3 Mw3=1 mw2= mwxor(mw3,mw1) mw2 2 sayısı atanır! bit GetBit (int Deger,int bitno): Bu fonksiyon bir mwun içersindeki bitlere ulaşmak için kullanılır. İl parametre MW tipinden bir deger, ikinci paramtre ise bit no dur. (max 15! olabilir) mw13=3 mb5=getbit(mw13,0) //ilk bit! Mb5 on degerini alır! mw SetBit (int Deger,int bitno): Bu fonksiyon bir mwun içersindeki biti set etmek için kullanılır. İl parametre MW tipinden bir deger, ikinci paramtre ise bit no dur. (max 15! olabilir) mw13=0 mw3=setbit(mw13,1) //ikinci bit! Mw3 2 degerini alır

21

mw ReSetBit (int Deger,int bitno): Bu fonksiyon bir mwun içersindeki biti reset etmek için kullanılır. İl parametre MW tipinden bir deger, ikinci paramtre ise bit no dur. (max 15! olabilir) mw13=2 mw3=resetbit(mw13,1) //ikinci bit! Mw3 0 degerini alır 5.HSC işlemleri: Yüksek hızlı sayıcı 32 bit 'tir. Bu sayıcıya herhangi bri değer atamak için veya 0 atarak resetlemek için SetHSc fonksiyonu kullanılır. SetHSC(long Value) SetHSC(0D) (hsc sifirlanır) 6.Haberleşme Fonksiyonları: Sistemde RS232 ve RS485 olmak üzere iki adet haberleşme portu bulunmaktadır. Bu portlar serbest olarak programlanabilmektedir. Fonksiyonlar: OpenRS232(int baudrate, int receivebuffer, int maxreceivelenght,int endoftextCharacter) OpenRS232 komutu RS232 portu üzerinden haberleşmeyi sağlamak için kullanılır. RS232 komutunda dört adet parametre bulunmaktadır. Bu parametreler: BaudRate, ReceiveBuffer, MaxReceiveLenght ve EndOfTextCharacter. BaudRate : Haberleşme hızı olarak 1 girilmesi durumunda baudrate 9600 bit/sn. 1 – 9600 2 – 19200 3 – 38400 4 – 57600 5 – 115200 ReceiveBuffer : RS232 üzerinden haberleşme esnasında alınacak datalar ReceiveBuffer'da belirtilen MW 'den yazılmaya başlar. MaxReceiveLenght : RS232 üzerinden haberleşme esnasında sonlandırma karakteri gelmediği taktirde buffer'a alınabilecek MW sayısını gösterir. EndOfTextCharacter :Sonlandırma karakteri alındığı zaman SB101 (RS232EndCharRecv) ON konumuna geçer. Sonlandırma karakterinin kullanılması gerekmiyorsa değeri “0” olarak girilmelidir.

22

ClearRS232ReceivedData() RS232 haberleşmede buffer olarak kullanılan MW'leri temizlemek için ve SB101 (RS232EndCharRecv) bitini OFF konumuna getirmek için kullanılır. İstenilen data alındıktan sonra buffer mutlaka temizlenmelidir. RS232TransmitData(constint BaslangicWordNo,int TransmitCount) RS232 haberleşme portu üzerinden data göndermek için kullanılır. RS232TransmitData komutunda iki adet parametre bulunmaktadır. Bu parametreler: BaslangicWordNo ve TransmitCount. BaslangicWordNo : RS232TransmitData komutunda BaslangicWordNo'da belirtilen MW 'den sonraki dataları gönderir. TransmitCount : BaslangicWordNo parametresinde belirtilen datadan başlanarak kaç adet Byte gönderileceğini gösterir. Örneğin TransmitCount değeri 2 ve BaslangicWordNo 800 olsun. Bu durumda MW800 'ün 1. ve 2. Byte'larını gönderir. Eğer TransmitCount değeri 5 olursa MW800, MW801 'in tamamı ve MW802 'nin ilk Byte'ı gönderilir. OpenRS485(int baudrate,int receivebuffer,int maxreceivelenght, int endoftextCharacter,int startoftextCharacter) OpenRS485 komutu RS485 portu üzerinden haberleşmeyi sağlamak için kullanılır. RS485 komutunda beş adet parametre bulunmaktadır. Bu parametreler: BaudRate, ReceiveBuffer, MaxReceiveLenght, EndOfTextCharacter ve startoftextCharacter. BaudRate : Haberleşme hızı olarak 1 girilmesi durumunda baudrate 9600 bit/sn. 1 – 9600 2 – 19200 3 – 38400 4 – 57600 5 – 115200 ReceiveBuffer : RS485 üzerinden haberleşme esnasında alınacak datalar ReceiveBuffer'da belirtilen MW 'den yazılmaya başlar. MaxReceiveLenght : RS485 üzerinden haberleşme esnasında sonlandırma karakteri gelmediği taktirde buffer'a alınabilecek MW sayısını gösterir. EndOfTextCharacter :Sonlandırma karakteri alındığı zaman SB100 (RS485EndCharRecv) ON konumuna geçer. Sonlandırma karakterinin kullanılması gerekmiyorsa değeri “0” olarak girilmelidir. StartOfTextCharacter :Başlangıç karakteri olarak “0” dan farklı bir rakam girilmesi durumunda başlangıç karakteri alındıktan sonra data almaya başlanacaktır. ClearRS485ReceivedData() RS485 haberleşmede buffer olarak kullanılan MW'leri temizlemek için ve SB100 (RS485EndCharRecv) bitini OFF konumuna getirmek için kullanılır.

23

RS485TransmitData(constint BaslangicWordNo,int TransmitCount) RS485 haberleşme portu üzerinden data göndermek için kullanılır. RS485TransmitData komutunda iki adet parametre bulunmaktadır. Bu parametreler: BaslangicWordNo ve TransmitCount. BaslangicWordNo : RS485TransmitData komutunda BaslangicWordNo'da belirtilen MW 'den sonraki dataları gönderir. TransmitCount : BaslangicWordNo parametresinde belirtilen datadan başlanarak kaç adet Byte gönderileceğini gösterir. Örneğin TransmitCount değeri 2 ve BaslangicWordNo 800 olsun. Bu durumda MW800 'ün 1. ve 2. Byte'larını gönderir. Eğer TransmitCount değeri 5 olursa MW800, MW801 'in tamamı ve MW802 'nin ilk Byte'ı gönderilir. 7. Flash Memory işlemleri: int FlashRead (int Pageno,int pagestart, int Mwordno,int OkunacakAdet) int FlashWrite (int Pageno,int pagestart, int Mwordno,int YazilacakAdet) 8.RTC (real time clock ) Ayarlama fonksiyonu: SetRTC(int MWno) RTC' yi program içersinden ayarlamak için bu fonksiyon kullanılır. Parametre ayar başlangıç wordunu gosterir. Örnek: SetRTC(100) RTC değerleri MW100 den itibaren alınır: Mw100: saniye mw101: dakika mw102: saat mw103: yıl mw104: ay mw105:gün olmalıdır. 9. DayOfWeek : Haftanın günü fonksiyonu Bu fonksiyon RTC'nin haftanın hangi günü olduğunu söyler: mw13= dayofweek() eğer 1 ise Pazartesidir.

24

10.Blok giriş çıkış fonksiyonları int GetInputWord(int MW)") int GetOutputWord(int MW) void SetOutputWord(int MWno,int Data) Bu fonksiyonlar giriş çıkışlara word olarak ulaşmak veya değer atamak içindir. 11.Ekran Cizim Fonksiyonları PutPixelToPage(x,y,on) X : X ekseninde koyulmak istenilen noktanin sutun degerini belirtir. 0-127 arasi bir deger olabilir. Y : Y ekseninde koyulmak istenilen noktanin satir degerini belirtir. 0-63 arasi bir deger olabilir. On : Belirtilen noktanin isaretlenmek istenilip istenmedigini belirtiyor. Not : Belirtilen noktaya isaret koymak icin ON, belirtilen noktadaki isaretin kaldirilmasi icin Off yapilmalidir.

EKRANLAR Program ilk açıldığında karşınıza aşağıdaki ekran gelir. En üstte menüler, altında hızlı erişim tuşlarının olduğu çubuk ve ekranın diğer kalanında da editör ekranı, obje ekranı ve debug paneli gözükür.

25

Menüler

1. Dosya Yeni Proje: Yeni bir proje yaratmaya yarar. Yeni bir proje yaratmak istiyorsanız bunu seçtikten sonra açılan pencerede cihazın modelini seçip, proje ismi girmek için üç noktalı tuşa basın. Projenin bilgisayarın hangi klasöründe saklanmasını istiyorsanız o klasörde olduğundan emin olduktan sonra, alttaki boş alana proje ismini girip kaydedin ve Tamam diyerek çıkın. Yeni bir proje yaratamak istemiyorsanız Vazgeç diyerek geri dönebilirsiniz.

Proje Aç: Daha önceden yaratılmış ve kaydedilmiş dosyaları burdan açabilirsiniz. Eğer ekranda daha önceden açılmış bir proje var ise, yenisi açılmadan mevcut olanı saklamak isteyip istemediğinizle ilgili bir soru ile karşılaşırsınız, eğer hiç bir işlem yapmak istemiyorsanız İptal seçerek geri dönebilirsiniz. Proje Kaydet: Ekranda açılı olan projeyi daha önceden belirlediğiniz klasöre, ilk açtığınız isimle kaydeder. Farklı Kaydet: Ekranda açılı olan projeyi isterseniz farklı bir isimle ve isterseniz farklı bir klasöre kaydetmenizi sağlar. Çıkış: Programı kapatıp çıkmak için kullanılır. 2. Düzen Geri Al: Proje içerinde yaptığınız en son değişikliği geri alır. Tekrar Yap: Proje içinde geri aldığınız bir değişkliği tekrar yapar. Kes: Proje içerisinde mouse ile seçtiğiniz yazıyı olduğu yerden silerek kopyalar. Kopyala: Proje içerisinde mouse ile seçtiğiniz yeri olduğu yerden silmeden kopyalar. Yapıştır: Kesilmiş yada kopyalanmış yazıyı imlecin bulunduğu yere koyar.

26

3. Ara Bul: Girilen yazıyı proje içinde arar, ilk bulunan sonuç ekrana gelir. Kendi içerisinde aramayı kolaylaştıracak opsiyonlar vardır.

• Case sensitive: Seçili olduğu zaman giridiğiniz yazının büyük harflemi yoksa küçük harflemi yazıldığına dikkat eder.

• Whole words only: Tam sözcükler arasinda arar • Regular expressions: • Forward / Backward: Yazının ileri doğrumu yoksa geri doğrmu aranacağını belirler. • Global / Selected text: Yazının tüm dosya içindemi yoksa seçilmiş bir bölümdemi

aranacağını gösterir. • From cursor / Entire scope: Aramaya imlecin bulunduğu yerdenmi yoksa en

başındanmı başlanacağını belirler. Tekrar Ara: Başlatılan aramayı kaldığı yerden devam ettirir. Değiştir: Girilen sözcüğü yada karakteri başka bir sözcük yada karakter ile değiştirmek için kullanılır. Kendi içinde opsiyonları bulunur. Bir öncekinden farklı tek opsiyon vardır.

• Prompt on replace: Değiştirmeyi yapmadan önce uyarı verir. Satıra Git: Bulunduğunuz satırdan girilen satır numarasına çabuk geçmeyi sağlar.

27

4. Proje Hazırla: Yazılan programı derler, yanlışlar içeriyorsa uyarılar verir. Yükle: Hazırladığınız programı, ekranları ve timer’ı PLC’ye yükler. Yükleme yapılmadan önce PLC bilgisayara bağlanmış olmalıdır. Açılan pencerede neleri yüklemek istediğinizi seçebilirsiniz. Sadece değişilik yaptığınız ve yeni yarattığınız ekranları veya programı yüklemek yeterli olcaktır, değiştirmedikleriniz her seferinde yüklemek zorunda değilsiniz. Örneğin Program, Ekran1 ve Ekran2’yi daha önceden hazırlayıp yüklemiştiniz. Daha sonra bunlara ek olarak Ekran3 yarattınız. Sadece Ekran3’ü yüklemeniz yeterli olacaktır. Program, Ekran1 ve Ekran2 daha önceden yüklendiği biçimde korunacaktır.

Debug: Yazılan programda istenilen bazı parametrelerin PLC çalışırken değerlerinin ne olduğunu ve nasıl değiştiğini Debug penceresinde göstermeyi sağlar.

28

PLC Run: Duran PLC’yi tekrar çalıştırmak için seçilir. PLC Stop: Çalışan PLC’yi durdurmak için seçilir. PLC Reset: Çalışan PLC’nin çalışmasını yeniden başlatır. PLC Init: PLC’deki dataları sıfırlamak için seçilir. RTC İşlemleri: Bu özellik Real Time Clock işlemleri için PLC’nin sistem saatini ayarlamak içindir. Bu sayede saat ve tarihe bağlı olarak çalışan kontrol fonksiyonları ve hesaplamalar yaptırabilir, çeşitli ekranların görüntülenmesini zamana bağlayabilirsiniz.

5. Görüntü Program sırasında görüntülenen pencerelerin, gözüküp gözükmemesini burda ayarlayabilirsiniz. Yanında işaret bulunan satır ekranda görüntülenir.

29

Obje Ağacı Buradan sağ taraftaki pencerede görüntülenecek ekran seçilir.

• ProgramHLL : PLC editör penceresi açılır. • EkranlarEkran # : seçilen numaradaki ekran ayar penceresi açılır. • DeğişkenklerMW : “memory word” tanımlama penceresi açılır. • DeğişkenklerMB : “memory bit” tanımlama penceresi açılır. • DeğişkenklerSW : “sytem word” tanımlama penceresi açılır. • DeğişkenklerSB : “system bit” tanımlama penceresi açılır. • DeğişkenklerINPUT : “input” tanımlama penceresi açılır. • DeğişkenklerOUTPUT : “output” tanımlama penceresi açılır. • DeğişkenklerTIMER : “timer” tanımlama penceresi açılır. • SISTEM : sistem parametrleri ayar penceresi açılır.

PROGRAM PLC Editör Ekranı Program yazdiginiz penceredir. Her satır bir numarayla başlar. Her satıra bir ifade gelecek şekilde yazılmalıdır.

30

EKRANLAR Ekran Ayar Penceresi

32 adet ekran bulunmaktadır. Her bir ekranın ismini, görünümünü, görüntüleyeceği yazı ve resimleri, zıplama koşullarını buradan ayarlayabilirsiniz

Nesneler bölümünde boş yazan kutuya iki kere tıklayarak değişken düzenleme penceresini açabilirsiniz.

• Text: Buraya gireceğiniz mesaj ekranda aynen yazılır. Dilerseniz yazıyı ekrandan taşmayacağı sürece büyütebilir (1x, 2x ve 4x) ayrıca ters’e tıklayarak yazının koyu renk üstünde açık renk olarak belirmesini saglayabilirsiniz. Mesajlarınızda türkçe karakterler kullanırsanız bunlar doğru olarak görüntülenmeycektir, bu yüzden türkçe karakter kullanmamaya dikkat ediniz.

31

• Font Text: Buradan girdiğiniz mesaj bir öncekinden farklı olarak istediğiniz yazı karakterinde ve font büyüklüğünde görüntülenebilir. Y ofseti değiştirerek yazıyı yukarı yada aşağı kaydırabilirsiniz, Y2 ofseti ilede yazının görüntülendiği alanı büyültüp küçültebilirsiniz.

• Resim: jpg, bmp, ico, emf ve wmf uzantılı resim dosyalarını ekrana yüklemenizi sağlar

32

• Bit Resim: Seçilen bit’e bağımlı, bit’in 1 veya 0 olması durumunda ekrana farklı resimler çıkmasını sağlar.

• Bit Text: Seçilen bit’e bağımlı, bit’in 1 veya 0 olması durumunda ekrana farklı yazılar gelmesini sağlar. İstenirse kullanıcıda bilgi girişi yapabilir. Yalnız büyütme faktörü x2 veya x4 iken bilgi girişine izin verilmez sadece x1 seçiliyken buna izin verilir.

33

• Indexed Text: Belirlediğiniz bir memory word’un o anki değerine bağlı olarak toplamda 256 tane her biri 21 karakteri geçmeyen farklı mesajdan birini ekrana yazdırır.

• Değişken: Ekrana bir word’e bağlı bir değişkenin yazılmasını sağlar. Değerin formatı, hangi sayı aralığında olacağı ayarlanabileceği gibi bunun yanında bilgi girişine izin verilirse buraya kulanıcı tarafından sayı girilmesine, sayılar girildikten sonra sayıların sıfırlanmasına ve password giriş tipi işaretlenerek

34

• Timer: Önceden tanımladığınız timer değerini burdan ekrana koyabilirsiniz. İstediğin görüntüleme formatını ayarlayabilir, isterseniz kullanıcıya bilgi giriş izni verebilirsiniz.

• Check Box: Seçilen bit’e bağımlı, bit’in 1 veya 0 olması durumunda ekrana tamam işareti gelmesini sağlar, edit yapılmasına izin verilirse kullanıcı tarafındanda tuşlar yardımıyla ulaşılabilir.

35

• Şekiller: Ekrana çeşitli geometrik şekiller çıkmasını ve şekillerin boyutlandırma ayarları burdan yapılır.

• Pointer Text: Program içerisindeki bir word’de bulunan mesajı seçilen tetikleme bit’ine göre ekrana yazdırır. Yazılacak mesajın kaç karakter olduğu ayarlabilir.

Yarattığınız nesneleri ekranın istediğiniz yerinde görüntülenmesini, mini ekran üzerinden ayarlayabilirsiniz. Seçilen nesne mini ekranda kırmızı bir kutu içinde belli edilir. Sonra üzerine gelerek mouse ile yada hassas ayarlamak için klavyeden Shift’l beraber yukarı,aşağı, sağ ve sol yön tuşlarına basıp ayarlayabilirsiniz.

36

Birden fazla nesnenin olduğu ekranlarda, nesnelerin satır sıralarını farenin sağ tuşuna bastığınızda çıkan menü ile yukarı aşağı kaydırabilirsiniz. Aynı işlemi klavyenizdeki PgUp ve PgDn tuşları ile de gerçekleştirebilirsiniz. Buradaki sıra PLC üzerinde nesnelere ulaşmak için izleyeceğiniz sırayla aynı olacaktır. Yeni bir nesne için satır yaratmak için satır ekleyi seçmelisiniz, isterseniz eklenecek satırı iki nesne satırı arasınada ekleyebilirsiniz.

37

En sağda bulunan zıplama koşulu tablosundan memory bit, system bit, input, output yada time degerine ayarlayarak, bu deger degistiginde baska bir ekrana geçilmesini ayarlayabilirsiniz. Önce Boş yazan kutunun üstüne iki kez tıklayarak yada mouse’un sağ tuşuna tıklayıp menüyü çıkartıp burdan Yeni Zıplama yada Düzenle seçeneğini seçerek Zıplama Seçimi düğzenleme ekranına ulaşın. Burda düzenlemekte olduğunuz sayfadan hangi sayfaya hangi değişkeni kullanarak zıplayacağınızı ayarlayın. Seçtiğiniz değişken programda kullandığınız bir data olabileceği gibi PLC üzerindeki bir tuşuda bu şekilde kullanabilirsiniz.

Zıplama seçimi yazan pencerde en sol alttaki buttona basarsanız aşağıdaki ekrana ulaşırsınız, buradan PLC üzerinde zıplamak için basacağınız tuşu seçebilirsiniz.

38

SISTEM Burası sistem ayar ve paramterlerini değiştirebileceğiniz, yazdığınız programın açıklamasını saklayabilceğiniz bir ekrandır. Haberleşme hızı PLC ile bilgisayarınız arasındaki veri iletim hızıdır. Port numarası ise PLC’yi bilgisayarınıza bağladığınız haberleşme portun numarasıdır. Eğer doğru hızı ayarladığınızdan emin değilseniz Set PLC Baud Rate’e basarsanız bilgisayar otomatik olarak doğru hızı kendi arayıp bulur. Aynı şekilde adres için Set PLC Adres’e basarsanız, otomatik olarak doğru adresi bulur.

39

NOTLAR: CP25, UC25, IO25 model PLC'lerde dört adet analog giriş ve dört adet analog çıkış bulunmaktadır. Analog girişlerin adresleri SW80, SW81, SW82, SW83, analog çıkışların adresleri ise SW120, SW121, SW122, SW123'dür. Analog girişlerin çözünürlüğü 11bit (0-2047), analog çıkışların çözünürlüğü ise 8bit (0-255) 'tir. Ayrıca belirtilen modellerde iki adet PT100 sıcaklık sensörü girişi bulunmaktadır ve adresleri SW84 ve SW85 'tir. CP10, UC10 model PLC'lerde iki adet analog giriş ve iki adet analog çıkış bulunmaktadır. Analog girişlerin adresleri SW80, SW81, analog çıkışların adresleri ise SW120, SW121 'dir. Analog girişlerin çözünürlüğü 10bit (0-1023), analog çıkışların çözünürlüğü ise 8bit (0-255) 'tir. Ayrıca belirtilen modellerde iki adet PT100 sıcaklık sensörü girişi bulunmaktadır ve adresleri SW82 ve SW83 'tir.

40

FAYDALI BİLGİLER:

PT100 KALİBRASYONU

Giriş yapılması gereken değerler: ALT: Kalibrasyon Alt Sıcaklık Değeri (°C) UST: Kalibrasyon Üst Sıcaklık Değeri (°C) Cihaza PT100 kalibrasyonu yapmak için iki adet direnç gerekmektedir. Örneğin 100 ve 120 ohmluk iki adet direnciniz var. Ölçü aleti ile R1=100.5 ve R2=119.5 ohm ölçtünüz. Bu değerleri aşağıdaki formülde yerine yazılırsa buradan iki sıcaklık değeri elde edilir. ALT değer(T1=1.3°C), ve UST değer(T2=50.6°C). hesaplanan bu değerler CP25 ’un kalibrasyon ekranındaki UST ve ALT parametrelerine yazılır.

T=(R-100)/0.385 Kanal1 PT100 kalibrasyonu için: R1 direncini 1 numaralı PT100 girişe takınız. Daha sonra “F2” basılı tutunuz(5 saniye). O anda okuduğu değeri (ADC1), ADC1A’ya atayacaktır. Daha sonra R2 direncini 1 numaralı PT100 girişine takınız. Daha sonra “F1” tuşuna basılını tutunuz(5 saniye). O anda okuduğu değeri(ADC1), ADC1U’ya atayacaktır. Kanal2 PT100 kalibrasyonu için: R1 direncini 2 numaralı PT100 girişe takınız. Daha sonra “F5” basılı tutunuz(5 saniye). O anda okuduğu değeri(ADC2), ADC2A’ya atayacaktır. Daha sonra R2 direncini 2 numaralı PT100 girişine takınız. Daha sonra “F4” tuşuna basılını tutunuz(5 saniye). O anda okuduğu değeri(ADC2), ADC2U’ya atayacaktır. Eğer PT100 kalibrasyonunda kayma olduğunu düşünüyorsanız “KAYDIRMA” parametresini kullanınız. Kalibrasyon tamamlandıktan sonra ana ekrana dönülmeli ve cihazın enerjisi kesilip tekrar geri verilmelidir.

UC25, UC10 ve CP10 modellerinde de PT100 kalibrayonu aynı şekilde yapılmaktadır.

* Dikkat! PT100 Kalibrasyon değerleri ile gerekmedikçe oynamayınız. Cihaz fabrika çıkışı kalibre edilmiştir.

**Dikkat! Kalibrasyon yapılmadan önce KYDRM değeri ekranda “0” gözükse dahi girilip tekrar “0” onaylaması yapılması gerekmektedir. “<” imleci yanıp sönerken sol ok tuşuna basarak değerin sıfır olduğundan emin olunuz.

*** Dikkat! KYDRMA işlemi için (-) negatif değer girmek isteniyorsa istenilen değer tuşlandıktan “Sağ OK” tuşuna basılmalıdır. Girilen değerin başında (-) işareti belirecektir.