CPSoft Manuel

Transkript

CPSoft Manuel
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”
1
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 )
MB12=on
MB34=MB25
yazilarak,
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 )
2
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
3
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)
…….
Endif
veya
if(StartUp)
….....
Endif
4
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 )
geçer.
Operatör panel üzerinden 1 tusuna basıldığı sürece ON konumuna
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.)
5
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.
6
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.
7
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.
8
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.
9
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.
10
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
11
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.
12
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
13
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.
14
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
or
xor
not
ve
veya
özel veya
değil
15
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)
16
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,
NoktadanSonraHane,int Deger)
constint
HaneNo,
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.
17
consting
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.
18
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
mw türünden bir değeri ascii katara çevirmek için kullanılır.
Value)
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.
19
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
20
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
ReceiveBuffer'da belirtilen MW 'den yazılmaya başlar.
esnasında
alınacak
datalar
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.
21
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
MW 'den sonraki dataları gönderir.
belirtilen
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
ReceiveBuffer'da belirtilen MW 'den yazılmaya başlar.
esnasında
alınacak
datalar
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.
22
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
MW 'den sonraki dataları gönderir.
belirtilen
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.
23
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.
24
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.
25
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.
26
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.
27
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.
28
Obje Ağacı
Buradan sağ taraftaki pencerede görüntülenecek ekran seçilir.
• ProgramHLL : PLC editör penceresi açılır.
• EkranlarEkran # : seçilen numaradaki ekran ayar penceresi açılır.
• DeğişkenklerMW : “memory word” tanımlama penceresi açılır.
• DeğişkenklerMB : “memory bit” tanımlama penceresi açılır.
• DeğişkenklerSW : “sytem word” tanımlama penceresi açılır.
• DeğişkenklerSB : “system bit” tanımlama penceresi açılır.
• DeğişkenklerINPUT : “input” tanımlama penceresi açılır.
• DeğişkenklerOUTPUT : “output” tanımlama penceresi açılır.
• DeğişkenklerTIMER : “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.
29
Ekran Ayar Penceresi
EKRANLAR
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.
30
•
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
31
•
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.
32
•
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
33
•
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.
34
•
Ş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.
35
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.
36
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.
37
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.
38
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.
39
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.
40

Benzer belgeler