You are on page 1of 80

FPWIN Pro

Programlama
Bu eğitim süresince İşlenecek Konular.
Ladder Programlama DUT profili
Sabit Sayı Tanımlama DUT Kullanımı
Matsushita Adresleri (Doğrudan adresleme) ST programlama
Çıkış Tanımlama FB & FUN arasındaki fark
Çizgi Çizimi
B sabiti veya Pals Değiştirilmesi FB oluşturulması ST ile hareket kontrolü
Çıkışın SET edilmesi Ladder ile FB kullanımı
Lokal Değişken ST ile FB kullanımı
Basit Tip
Tanımlama şekli Kütüphane içerisine kayıt
Derleme Seçenekleri
FB tipi Timer vs Counter Kullanımı SHIFT komutunun kullanımı
Comment(Açıklama) ARRAY oluşturulması
I tipi adres, O tipi adres
FP-X hareket profilleri bit array yada F0 MV komutu ile DUT kullanımı
Hareket komutları F10 fonksiyonunun kullanımı
Çizimin ne şekilde yapılacağı
Proses sırası DUT’nin diğer kullanım şekli
32 bit DDT Özel modüllerin XY adreslemesi
Yeni proje oluşturma

1 Başlangıçta, “Create a new project” seçilir.

2 OK işaretlenir.
POU (Program Organization Unit)

Proje birkaç tane programdan oluşur.


Proje Program = POU
Her program aşağıdaki gibi farklı
Program işlemleri gerçekleştirebilir :
Program
Program 1----Başlangıç ayarları
Program Program 2 ----Organizasyon
Program 3 ----Hareket Kontrol
Program
Program Aşamaları
Program 4 ---- Alarm kayıtları
Program 5 ---- Sıcaklık Kontrol
Program 6 ---- Haberleşme
Organize hata kontol işlemi bütün
proje için geliştirme süresini kısaltır.
Farklı kişiler projenin farklı
programlarını tamamlayabilirler.
Proje Oluşturma

1 Proje Adı(dosya adı) Proje adını buraya 2 PLC type:


yazın PLC tipini bu buton ile
değiştirebilirsiniz
PLC tipini FP-X 32K
C30T, C60T olarak
seçelim.

3
Program ADI:
Bu projede ilk (POU) adını
girelim.
Daha sonra farklı (POU)’lar
eklenebilir.

4 Program Dili: 5 Proje Oluşturma:


Create Project seçilir.
Bu POU’yu programlamlarken
kullanacağınız dili seçin.
Ladder Diagram seçiyoruz.
Proje menüsü
Sol taraf proje menüsü.
PLC system register ayarları

Liblary(Kütüphane): Herhangi biri


tarafından oluşturulmuş Fonksiyon ve
fonksiyon bloklarını çağırabilir ve
bunları kullanabilirsiniz

Tasks(Görevler): Hangi POU’ların


çalıştırılacağına karar verebilirsiniz.
POU’lar task listte tanımlandığı şekilde
yukarıdan aşağıya doğru çalışır.
DUT: Data Unit Type(Data Unit Tipi)
Bu C programlama dilindeki yapıdır.
İleride değineceğiz.

Global Variables (Global Değişkenler)


İleride değineceğiz.

POU: Program Organization Unit


(Program Düzenleme Birimi).
Programlama
Program alanı
TOOL BAR

Program alanı: Bu alana sol


kliklendiğinde, yukarıdaki TOOL BAR
menüsü açılır.

Tips
En önemli tuşu daima
hatırlayın.
[F2]
Matsushita Direct Address
Capital only

Sadece BÜYÜK HARF kullanın :


Eğer küçük harf kullanırsanız, FPWIN Pro bunu Değişken kabul eder.

Matsushita Direct Address Değişken:


Değişken geçici bir hafıza alanıdır.
X0, X1, X1 . . . . XF, X10, X11 . . X1F Aşağıdaki gibi ifade edilebilir.
Y0, Y1, Y1 . . . . YF, Y10, Y11 . . Y1F
R0, R1, R1 . . . . RF, R10, R11 . . R1F
DT0, 1, 2 . . . . .DT9, DT10, DT11 . .
DDT0, DDT1 . . .
LD
L
FL etc
Değişken
Değişken Tanımlama Değişken
“Motor” yazıp ENTER tuşuna bastığınızda,
aşağıdaki diyalog kutusu açılarak sizi
değişken tanımlamaya yönlendirir.

1 ‘Motor’ tanımı

2 BOOL(bit) tip
önerilir

3 Tanımlama
Bu kutucuk işaretli iken
Sol kliklediğinizde yada
sadece ENTER’a
bastığınızda, “Motor”
isimli BOOL tipinde
değişken tanımlanmış olur..
Değişken
Değişken tanımlamanın diğer yolu
1 Değişken ismini girin 2 Aşağı oka basın
İsim Start olsun 3 Tip Seçin
Tipi BOOL olarak tanımlayalım

ARRAY = Boyut
BOOL = Bit
DINT =32 bit DEC
DWORD =32bit HEX
INT =16bit DEC
REAL =32bit
ondalıklı
STRING[32]=Text
TIME =Zaman
WORD =16bit HEX
Kontak Tipleri
B Kontağı ya da Pals Kullanımı
1 Kontak üzerine çift klikleyin

2 Nagation (Değil)’ı seçin Normal

Negation
(Değil)
Rising Edge
(Yükselen kenar)

Falling Edge
(Düşen Kenar)
Çıkış Tipleri
SET Komutunun Kullanımı
1 Çıkış kontağı üzerine çift kliklenir

Normal

2 Set Negation
(Değil)
Rising Edge
(Yükselen Kenar)
Falling Edge
(Düşen Kenar)
Set

Reset
PLC System Register Ayarları
1 PLC, System Registers 3 Daha hızlı program yüklemek
menüsünde + seçilir için 115200 seçilir

2 Tool Port çift kliklenir


Proje Yüklenmesi
Haberleşme Parametrelerinin Ayarlanması

1 Communication
Parameters
(Haberleşme
Parametreleri)seçilir

2 Yukarıdaki seçimi yapın


En son GTWIN sürümünü
yüklediğinizde, Network tiplerinde
USB gözükmesine rağmen,FP-X ile
USB kablosu aracılığıyla haberleşmek
için C-NET(RS232C)’yi seçmelisiniz.
Proje Yüklenmesi
Online’a geçin

2 Bu İKON’u seçin 1 Bu İKON’u seçin


Proje Yüklenmesi
Birisi bu hatayı unutmuş olmalı?

“Start” değişkenini
BOOL olarak tanımlayın
Değişken
PLC’nin hangi bitleri “Start” ve “Motor” olarak kullanılıyor ?

FPWIN Pro derleyicisi tarafından bunlar otomatik olarak R bitlerine atanır.

Her derlemede, aynı “Start” değişkeni farklı bir R biti olabilir.

Hangi bitlerin kullanılıp hangilerinin


kullanılmadığını nasıl bileceksiniz?
Değişken
Compile option(Değişken Seçenekleri)
Menu, Extras -> Options->Compile option seçilir.
Derleyicinin kullandığı sistem alanını ve doğrudan adreslemede
kullanacağınız alanı belirleyebilirsiniz.

Standart olarak, R0 - R5F ve DT0 - DT1650 aralığı seçilidir.


Eğer R60’ı kullanmak isterseniz ne olacak?
Değişken
Derleyici değişkeni boş hafıza alanına otomatik olarak yerleştirir.

R0 ~ R9F Dokunmatik ekrandan R0 ~ R9F Ekrandan


R100 ~ R19F Hata mesajı R100 ~ diğer. Derleyici değişkeni boş
R200 ~ R29F Hareket profili hafıza alanına otomatik olarak yukarıdan
R300 ~ R39F 1.proses için çalışma biti aşağıya olacak şekilde yerleştirir. Bu
R400 ~ R44F Amaç2 durumda sizin boş hafıza bölgesini
R450 ~ R49F Amaç3 düzenleme ile ilgili probleminiz kalmaz.
Şeklinde devam eder.

Daha önce programlama yaptıysanız, bu


işlemin aslında ne kadar sıkıntılı olduğunu
bilirsiniz.
Timer,Counter
FB kendine ait bir tanımlaya ihtiyaç duyar
1 İkon üzerine klikleyin

2 FB ile timer seçin


4 Tanım girin (Herhangi bir isim)

FB kendine ait bir tanımlayıcıya


ihtiyaç duyar. Sadece alfanumerik ve
alt çizgi kullanabilirsiniz.

3 Buraya klikleyin
Timer,Counter
FB parametresi kullanımı
1 Bütün giriş çıkışlar tanımlanır
3 Function Block seçilir start:= Start sinyali
4 + seçilerek menü SV:= değer ms olarak girilir
gelişletilir. T:= Timer çıkışı
EV:= Erişim Değeri (izleme amaçlı)

2 Timer çıkışı kullanımı


Pump_Time . T (Timer ismi.T)
Bu alan aktif iken F2’ye basarak diyalog
5 Bunu seçin kutusunu açın.
Pump_Time . EV is to EV değerini gösterir.
İzleme
bit konumlarının değiştirilmesi
1 Kontak üzerine klikleyin (isim ya da adres üzerine değil)
Aşağıdaki pop-up menü açılır..

2 OK’i klikleyin
Ladder içerisine Açıklama Ekleme
Bit konumunun değiştirilmesi 2 Alanı belirleyin ve
açıklamayı yazın
Çizgiyi değiştirmek için, CTRL+ENT.

1 Buraya klikleyin

Burayı klikleyin ve
sürükleyin

Buradan boyutlandırın
FP-X Hareket Profili
Hareket Profilinin Kullanımı 60 step hızlanma
50% çalışma (duty)
48 - 100KHz
Kontrol Kodu 32 bit DDT10 H 000 10100 Incremental CW/CCW
Düşük Hız 32 bit DDT12 500 Hz
Yüksek Hız 32 bit DDT14 1000 Hz
Kalkış Süresi 32 bit DDT16 200 ms
Gideceği Mesafe 32 bit DDT18 3000 pals
Ek Mesafe 32 bit DDT20 0 pals

DDT10 32 bittir. DT10 16bittir. DWR0 de 32bittir.


s_Start başlangıç adresidir.
n_Channel FP-X Tr için 0-3 arası eksen numarasıdır.
Ladder ile FP-X Hareket Kontrol Programı
Hareket Profilinin Kullanımı Her data tipinin ifade şekli.
Dec => 12345
Hex =>16# _ _ _ _
Real => 0.1234
String=> ”Hello”
Binary => 2#_ _ _ _ _ _ _

2 farklı network’e ayrılır


Ladder ile FP-X Hareket Kontrol Programı
Aksi taktirde bu uyarıyı alacaksınız

Hata ve Uyarı arasındaki fark


Hata: Programı çalıştırmak için düzeltmeniz gerekir.
Uyarı: Program çalışmaya devam eder.
Yüklemeden Önce
PLC system kısmını pals üretmeye set edin

1 Buraya çift klikleyin

2 “Pulse Output”’u
seçin
Data Görüntülenmesi (Monitor Data)
Pals çıkış sayısının görüntülenmesi

1 Buraya çift klikleyin

2 Data or yada değişken ismi girin


DDT90348 Ch.0 pals çıkışının
erişim değeridir.

3 Değişken Seçimi
Bu durumda, Sample[PRG] seçilir
ve “Start” gibi bir Değişken
tanımlanır.
Data Görüntülenmesi(Monitor Data)
Pals çıkış sayısının görüntülenmesi
Örnek FP POU’ya ait Pump_Time’ın
“EV” değişkeninin (Erişim Değeri) Başka bir değer girmek için [INS] tuşuna
görüntülenmesi basın.

örnek POU’ya ait


“Start” değişkenini
(bit) görüntüleme

Erişim değerini görüntüleme


DDT90348
DUT(Data Grup Şablonu)
Bu bir grup data’ya ait şablon gibidir. Ya da profil ya da reçeteye ait şablon. C
programlama dilinde, bu data yapısı olarak adlandırılır. Hatırladığınız gibi, FP-X
hareket profili altı adet 32bit kayıttan oluşur. DUT sizin şablon oluşturmanıza imkan
tanır.

Kontrol Kodu 32 bit DDT10 Veriler aşağıdaki şekilde girilir.


Minimum Hız 32 bit DDT12 FPX_Profile
ControlCode DWORD
Maksimum Hız 32 bit DDT14
LowSpeed DINT
Hızlanma Zamanı 32 bit DDT16 HighSpeed DINT
Seyahat Mesafesi 32 bit DDT18 AccelTime DINT
Ek Mesafe 32 bit DDT20 TravelDst DINT
CreepDst DTIN

Bunlar bir gruptur. Bu durumda


ControlCode her zaman LowSpeed’den
sonra gelen 32 bittir.
DUT(Data Grubu Şablonu)

1 DUT üzerine sağ


klikleyin ve New DUT Bu etiket neyi değiştirdiğinizi gösterir
‘yu seçin
Ve enter DUT adını
FPX_Motion_Profile olarak
belirleyin. Bu şablon ismidir.

Gerekli datayı girin Başlangıç değerleri


DUT(Data Grubu Şablonu)
1 FPX_Motion_Profile şablonunu kullanarak JOB1 ismini oluşturun.
Bu aşağıdaki tabloyu
oluşturur.
JOB1. ControlCode
JOB1. LowSpeed
JOB1. HighSpeed
JOB1. AccelTime
JOB1. TravelDistance
JOB1. CreepDistance
DUT(Data Grubu Şablonu)
DUT içerisinde her Dataya ait başlangıç değerleri bulunduğundan,
pals çıkışını aktif hale getirmek için yapmanız gereken aşağıdaki
işlemdir.

JOB1. ControlCode Tablodaki ilk datayı tanımlayın.


JOB1. LowSpeed
JOB1. HighSpeed
JOB1. AccelTime
JOB1. TravelDistance
JOB1. CreepDistance
Travel Distance’a ait değeri değiştirmek için aşağıdaki işlem yapılır.
DUT(Data Grubu Şablonu)
DUT içerisinden değişken seçmek.
2 DUT seçimi
DUT listesi aşağıdaki kutucuk içerisindeki gibi belirecektir.

3 [+] simgesine çift klikleyin

1 alan seçili hale


geldiğinde [F2]
tuşuna basın.

Çift kliklendiğinde, seçili


değişken bu alanda
görünmelidir

4 TravelDistance üzerine
çift klikleyin
Global Değişken
Dokunmatik Ekrana ait bir değişkenin değerini değiştirmek için ne
yapmalı?
Belirli bir adres ile Global Değişken tanımlanmalıdır.
Distance ’ın DDT0 şeklinde tanımlanması gibi.

İşaretli olursa, bu
değişkeni projedeki bütün
POU’lar içerisinde
kullanabilirsiniz.

Now this is DDT0


Global Değişken
Global Değişken vs Lokal Değişken
Proje
Global
Global Değişken
Değişken
Proje içerisindeki
herhangi bir POU’dan
transfer edilebilir.
POU1 Referans POU2 Referans
Lokal Değişken
Kendisine ait herhangi
Lokal Değişken Lokal Değişken
bir POU’dan transfer
edilebilir.

Global Değişken istenildiğinde direk bir adrese yerleştirilebilir

Direk adres adres


yok
ST(Yapısal Metin)
ST’ye ait yardım dosyasına bakın.
1 POUs üzerine sağ klikleyerek New POU
seçilir

2
1. POU adı girilir
2. PRG seçilir
3. ST seçilir
4. Program seçilir
Yapısal Metin

Program düzenleme alanı


Yapısal Metin

Kural 1: ST içerisindeki bütün programlar her taramada çalıştırılır.

F35_INC(DT0); Kural 3: Her komutun sonuna noktalı virgül konulmalıdır.

Kural 2: Bütün komutlarda operandlar parantez içinde bulunur.

Ya da aşağıdaki gibi yapabilirsiniz.

IF THEN ifadesi kullanılabilir.


IF R0=True THEN IF DF(R0=False) THEN IF DF(DT0>=100) THEN
F35_INC(DT0); F35_INC(DT0); F35_INC(DT0);
END_IF; END_IF; END_IF;

Kural 4: True ya da False ihmal edilebilir.


DF bir defa çalıştırmak içindir.
Yapısal Metin
Kullanıcı dostu editör
“IF” yazın ve [CTRL]+[F1] tuşlarına basın, aşağıdaki ifadeyi göreceksiniz

IF (?BOOL?) THEN

END_IF;

“F171” yazın ve [CTRL]+[F1] tuşlarına basın, aşağıdaki ifadeyi göreceksiniz

Başlangıç Adresi Kanal Numarası


IF DF(Start) THEN
F171_SPDH(s_Start := ?ANY32?, n_Channel := ?ANY16?);
END_IF;
Yapısal Metin
Başlangıç Adresi
IF DF(Start) THEN
F171_SPDH(s_Start := Job1.ControlCode,
n_Channel := 0);
END_IF;
Kanal numarası
Tiyo 1: Değişiklikleri yukarıdaki gibi yapabilirsiniz.

Değeri değiştirmek için, sadece iki nokta üstüste ve eşitlik kullanın. ( := )


JOB1.TravelDistance := 4500; Y8 := True;

Bu F0 ya da F1 gibidir.
JOB1 := JOB2;
Tiyo 2: Bütün DUT’yu kopyalamak kolaydır.
Yapısal Metin
Tiyo 3: Hızlı işlem yapılması.

Y0 := DF(TRUE);
ST içinde FB (Fonksiyon Blok) kullanılması
1 Başlık, değişken içerisinde FB belirlenir.

2 İsmi girin ve boşluk tuşuna basın


timer
Timer(start := ?BOOL?,
SV := ?INT?,
T => ?BOOL?,
EV => ?INT?);
Aşağıda bütün ifadelerin detayları görünmektedir!
Timer(start := R0, Timer(start := R0, Timer(start := R0, Timer(R0, 2000);
SV := 1234, SV := 1234, SV := 2000);
T => Y1, T => Y1);
Y1:=Timer.T;
EV => DT100);
DT100:=Timer.EV;
Yapısal Metin
Diğer benzer programlama
CASE DT12 OF
2,100:
Eğer DT12 2 ya da 100 ise
Y2:=True;
-100..0:
Eğer DT12 –100 ile 0 arasında ise
Y2:=False;
1,3..99, 101..120:
Eğer DT12 1 ise ya da 3 ile 99 ya da 101 ile 120 arasında ise
DT12:=DT12+1;
ELSE
Değilse bu kısım işletilir
DT12:=0;
END_CASE;

If (R0=False) AND DT10<= 1000 and DFN(R1) Then


DT11:=DT11+1;
else
DT11:=DT11-2;
End_If;
Yapısal Metin
Farklı tipler
DDT0:=5+1.2;
Ondalıklı sayı
16-bit ya da 32-bit tam sayı

GlobalVariableDDT0:=INT_TO_REAL(5)+1.2;
DDT ondalıklı Ondalıklı formata çevirme
Formatta olamaz
Fonksiyon Blok
Fonksiyon Blok ta POU.(Program)’dur

1 Fonksiyon blok’un adını girin

2 Fonksiyon Blok seçin

3 ST olarak seçelim

4 EN/ENO’yu işaretlemeyim
Fonksiyon Blok
FPX_Motion Function blok oluşturulduğunda, FB giriş ya da çıkış
içermez.

1 Giriş ve çıkış isimlerini belirleyin

Giriş ve çıkışlar belirlediğiniz isimlerle gözükür.


Fonksiyon Blok
Kutu içerisine yazılan programı çalıştırmadan önce, hareket
profil tablosu oluşturulur. Daha önce oluşturulmuş olan DUT
kullanılabilir.
1 DUT Bu FB’da FPX_Motion_Profile’ kullanılabilirolarak seçilir

Profil <= aşağıdaki değişkenleri içeren data gurbunun isimleri.


.ControlCode DWORD
.LowSpeed DINT
.HighSpeed DINT
.AccelTime DINT
.TravelDistance DINT
.CreepDistance DINT
Fonksiyon Blok
If DF(Start) Then
Profile.ControlCode :=16#0010100; (*Fixed Control code*)
Profile.LowSpeed := LowSpeed;
Profile.HighSpeed := HighSpeed; LowSpeed FONKSİYON
Profile.AccelTime := AccelTime; BLOK’un girişlerinden
Profile.TravelDistance:= TraveDistance; birinden gelen bir değişkendir.
Profile.CreepDistance:=0; (*Fixed Control code*)
F171_SPDH(s_Start := Profile.ControlCode, n_Channel := 0); (*Ch.0*)
End_If;
CurrentPosition:=sys_di_PLS_CH0_ElapsedValue;

sys_di_PLS_CH0_ElapsedValue
Bu hazır sistem datalarından
500
biridir ve gerçekte
DDT90348’dir.

Profile.LowSpeed := LowSpeed; 500 değeri LowSpeed


girişinden gelir.
500
Fonksiyon Blok

1 F2 tuşuna basın

2 Libraries altından
<System Variables>’ı seçin.

Önceden hazırlanmış değişkenin


Kullanımı.
Fonksiyon Blok

Ladder’da yapmış olduğunuz FB’un kullanımı


1 FB’u bulmak için fpx yazın.

2 FPX_Motion’u seçin Enter’a basın


ya da “Insert”’ü klikleyin.
3 Start kontağına klikleyin ve değerleri
girin.
Fonksiyon ve Fonksiyon Blok
FUN ve FB farklı ifadelerdir.
Fonksiyon Blok(FB) Fonksiyon(FUN)
Oluşturulması Aynı
Hafıza kullanımı Kullanım adeti kadar Sadece birtek hafıza
Örnek Gerekli Yok
Geribesleme değeri Yok Evet fakat seçilebilir
DF Kullanılabilir Kullanılamaz
Genel FB farklı taramalarda çalışmaya FUN tek taramada tamalanmalıdır. Yani
devam eder FUN genellikle sonuç almak için bir
hesaplamada kullanılır(geribesleme
değeri).
FB Kullanılırsa FUN Kullanılırsa
3 defa kullanılırsa 3 defa kullanılırsa
100 step 100 step

Ana POU Ana POU

300 step kullanır 100 step kullanır


Bu aynı zamanda değişkenlerin 3 katını kullanır
Değerlerin izlenmesi
Ladder’da yapılan FB’un erleştirilmesi

1 “Start” üzerine çift klikleyin.


FP-X pals üretmeye başlar.
Sayılan değer gösterilir.

2 “Monitor Header” seçilir

Bu direk adresleme dışında


POU içerisindeki bütün
değerlerin gösterilmesidir.
Değerlerin izlenmesi
İzlenecekdeğerlerin izlenemsi 1
INSERT tuşuna basın.
2
Direk adresi girin.

Ok bir değişkenin üzerinde iken DELETE tuşuna basılırsa değişken


izlenenler listesinden silinir.
Değişkenlerin izlenmesi
İzlenen data tiplerinin değiştirilmesi

Enter direct address.

Data tipini değiştirmek istediğiniz değişken üzerinde sağ kliklenir.

Ondalıklıtya değiştirilir (INT)


Değişkenlerin izlenmesi
Değeri değiştirin

Ok değiştirmek istediğiniz data


üzerindeyken sadece bir değer
girip ENTER tuşna basın.

%MD: Data area


%MW: Double word data
%MX: Bit area

Not: POU ekranında, DT HEX olarak izlenebilir.


Değişkenlerin izlenmesi
Change the value

Bu az önce ekelediğimiz FB!dur.


Bunun üzerine çift klikleyin.

Genişler ve bu FB içerisinde
birleştirilmiş değişkenleri gösterir.
İzleme
İzleme formatını bir yere kaydedin
1 Right click on the field of the data monitor sheet.

Kayıt ettiğinizi açmak


için,. önce herhangi bir
data izleme alanını açıp
sonra ‘open’ demelisiniz. Bu formatı
kaydedin.
Fonksiyon Blok
ST içerisinde FB kullanımı
1 FB için değişken belirleyelim---- Aşağıdaki Örnek Job4’tür

2 FB’ait isim girilir ve [CTRL]+[F1] tuşlarına basılır


Job4

3 Enter all variables.

Job4( Start := ?BOOL?, Job4( Start := DF(R0),


LowSpeed := ?DINT?, LowSpeed := 500,
HighSpeed := ?DINT?, HighSpeed := 1000,
AccelTime := ?DINT?, AccelTime := 500,
TraveDistance := ?DINT?, TraveDistance := 2500,
CurrentPosition => ?DINT?); CurrentPosition => DDT10);
Fonksiyon Blok
FB & DUT library içerisine kaydedilir <<offline>>
1 Libraries üzerine sağ klikleyin ve Library Install/Create….seçilir.
Fonksiyon Blok
FB & DUT library içerisine kaydedilir <<offline>>
Burayı
klikleyin

2 Library(kütüphane) ismini girin.


Dilediğiiz ismi verebilirsiniz.
Fonksiyon Blok
FB & DUT library(kütüphaneniz)’niz içerisine kaydedilir. <<offline>>
A library is added and appears here.

FB and DUT kesilip, bu


kütüphaneye yapıştırılır.

Bu şekilde gözükecektir.
Fonksiyon Blok
FB & DUT kütüphanenize kaydedilir <<offline>>

Yeni kütüphane oluşturmak için


ya da
Hazırlanmış olanları çağırak için.

Kapave kaydet

Şifre tanımla

Bir projede 50 taneye kadar


kütüphane kullanılabilir.

Bir kütüphane içerisinde


sınırsız POU bulunabilir..
Bazı tiyolar
Array(dizi) oluşturulması 1 Önce isim verin 4 Array(dizi) sayısını değiştirin
0..15 0 ile 15 arası
3..50 3 ile 50 arası demektir.

2 Select ARRAY

3 Select Type of Array


Bazı tiyolar
Üç boyutlu diziler
Virgül ile ayırırsanız

[-8..1 , 0..3 , 2..4]

Bu hareket profili gibi profiller


oluşturmak istediğinizde kullanışlıdır.
Bazı tiyolar
Adr_Of_Var
DUT ya da ARRAY’iniz varsa, F10_BKMV nasıl kullanılır?

Adr_Of_Var data grubunun en büyük adresini bulur.


AdrLast_Of_Var data grubunun en son adresini bulur.

TestDUT.ControlCode as DINT 16bit’lik TestDUT.ControlCode’a


TestDUT.LowSpeed as DINT ait data bloğunun ilk adresini bulur.
:
:
TestDUT.CreepDistance as DINT 16bit’lik TestDUT.CreepDistance’a
ait son adresi bulur.
Bazı tiyolar
Adr_Of_Var_I and Adr_Of_Var_O

Adr_Of_Var_I : This is for input.


Adr_Of_Var_O : This is for input.

ST’de, giriş ve çıkış için sadeceAdr_Of_Var


vardır.
Daha fazla tiyo
Shift bit kullanımı
1. WRxx direk adresini kullanın
2. Çeşitli değişken adları kullanmak isteyebilirsiniz. ARRAY kullanabilirsiniz.
Aynı array(dizi)’deki isimler aynıdır fakat sadece sayı farklıdır
3. Her bitin ismini değiştirmek isteyebilirsiniz. DUT kullanın.
(((ARRAY))) (((DUT)))
BitArray[0] Her durumda da 2 ya da 3, her grup 16 bitten oluşmalıdır, fazla ya da azBitDUT.bit0
olmaz.
BitArray[1] BitDUT.start
BitArray[2] BitDUT.stop
BitArray[3] BitDUT.up
BitArray[4] BitDUT.down
BitArray[5] (((Direct Adr))) BitDUT.limitUp
BitArray[6] BitDUT.limitDWN
:
:
BitArray[12] (((ARRAY)))
BitArray[13]
BitArray[14]
BitArray[15]
(((DUT)))
Daha fazla tiyo
F356 EZPID kullanımı
Herhangi bir fonksiyona çift kliklenirse, bu
giriş ve çıkışlar için ne tip data kullanmamız
gerektiğini gösterir..

Bu durumda, FPWIN PRO yazılımından


gelen daha önceden hazırlanmış 3 tane DUT
kullanmalısınız.
Daha fazla tiyo
F356 EZPID kullanımı
Prepare these three DUT.

Just attach these DUT to input pins. İzlenme EZ!’dir

Loop1Control.b0_AT_Request
Loop1Control.b1_AT_Complete
Loop1ParaHold.SP

Loop1ParaHold DUT gerçek Matsushita adresleri ile Global


içerisine yerleştirilir ve böylece bu değerler HMI’dan girilebilir.
Daha fazla tiyo
SUPER EZ PID komutu
Bu komutu tipik sıcaklık kontrol uygulamasında kullanmak için, yapmanız
gerekenler set point belirleyip start vererek Auto Tuning başlatmaktır.

Bu bit HMI ile de ON yapılabilir.


Loop1Control.b0_AT_Request
Or you can do this too.

*b0_AT_Request işlem tamamlandığında durdurulacaktır.

SP’de HMI ile değiştirilebilir.


Loop1ParamHold. SP

Değerleri HMI ile girebilmek için, bunlar Global Variable içerisinde tanımlanmalıdır.
Daha fazla tiyo
SUPER EZ PID komutu

Global Variable set edilmesi

Local Variable setting

Compile Option (Extras->


Options) içerisindeki KALICI
alanı değiştirmelisiniz.

Tiyo: İşareti set etmek


istediğiniz bölgeye getirdikten
sonra, sol ve sağa çekerek
ayarlama yapabilirsiniz.
String
String Yapısı
TestString:=‘Hello’;

DT m Stringin maksimum boyutu 20


DT m+1 String içerisindeki karakter sayısı 5
DT m+2 2inci Karakter 1inci Karakter e H
DT m+3 4üncü Karakter 3üncü Karakter l l
DT m+4 6ncı Karakter 5inci Karakter o
: : : : :
: : : : :
DT n Last Char
String
String için Komutlar

CONCAT: İki stringi birleştirir


MID: String içerisinden karakterleri çıkarır
RIGHT: String içerisinden SAĞ taraftan karakter çıkarır
LEFT: String içerisinden SOL taraftan karakter çıkarır
INSERT: Bir stringi diğer string içerisine yerleştirir
FIND: Bir stringin diğer string içerisindeki yerini bulur
EQ: İki stringin eşitliğini kontrol eder.
SEL: Birkaç string içerisinden birini seçer

REAL_TO_STRING
DINT_TO_STRING
DWORD_TO_STRING
TIME_TO_STRING

STRING_TO_ETLANADDR
String
String kullanımı ile ilgili örnek
Adr_Of_VarOffs kullanımı
Stringin ilk word’ü “stringe ait toplam boyuttur”. Ve ikinci word’de F159 için gerekli olan
stringe ait karakter sayısıdır. Bu değeri Adr_Of_VarOffs ya da TestString[1] ile elde
edebilirsiniz. Göndermek istediğiniz karakter sayısı “LEN” komutu ile elde edilebilir.

CONCAT
Test4String:=CONCAT(Test2String,Test3String);
Index register kullanımı
IX ve IY kullanabilirsiniz
I2 ile ID arası diğer index registerlar FPWIN Pro derleyicisi için ayrılmıştır.
Sadece IX ve IY kullanıyor olmanıza rağmen, saklama işlemi yaparak bunları pekçok defa
kullanabilirsiniz.
VAR IX_Store AS INT
POU başlangıcı
IX_Store:=IX;----- IX’i IX_Store değişkenine kaydeder.

Program

IX:=IX_Store;----- IX ‘i IX_Store değişkeninden geri çağırır.

IX ve IY’yi başka bir yere kaydetmek için, DIX. Double word kullanın
VAR IXIY_Store AS DINT
IXIY_Store:=DIX;
DUT kullanımının diğer şekli
Özel modül I/O addresleri
Pozisyon modülü gibi Özel modüllere ait giriş çıkış adreslerini hatırlamak genellikle zordur.
Pozisyon modülü için DUT oluşturup bunu değişkeniniz içerisine getirebilisiniz.

Örnek olarak, RTEX modülüne ait


Servo Ready, Busy, Completed, Home
Completed vb şeklindeki giriş bilgileri
kolaylıkla düzenlenebilir.

Bu DUT 0. slotta bulunan FP Sigma


RTEX modülünün giriş adresi olan
X100’den başlayarak yerleştirilir.
X110, yerine aşağıdaki gibi olacaktır.
Artık herhangi bir manuele ihtiyaçyok.

RTEX_Slot0_IN.Servo_Ready_Axis1
SFC (Sıralı Akış Grafiği)
SFC hareket kontrol, haberleşme ya da dizi program gibi sıralı programlama için
uygundur.

Sıralı hareketi düşünmek ve


programlamak kolaydır. Her adım
diğerinden bağımsız programlanabilir.
Eğer bir adım çalışıyorsa ve diğerler aktif
değilse bütün yapmanız gereken sadece
aktif durumda olan adımı incelemektir.
SFC (Sıralı Akış Grafiği)

Başlangıç Adımı: Bu adım otomatik olarak yerleştirilir.

Geçiş: Şart gerçekleştiğinde, bir sonraki adıma geçer.

Adım: birden fazla program yazabilirsiniz (iş olq4qk


adlandırılır).
Her iş farklı programlama dili ile yazılabilir.
Bir iş tanımladığınızda, adıma ait renk boyalı
şekle dönüşür

Son adım
SFC (Sıralı Akış Grafiği)

Düzenleme yapmak için Action üzerinde sağ


klikleyip Zoom Into’yı seçin.

Adım ismi olan x(.x) son taramada on olur.


Eğer bir sonraki adımda çıkışın on olarak
kalmasını istemiyorsanız bunu çıkışı
resetlemek için kullanabilirsiniz
Çalışma sırasında edit işlemi(RUN TIME-ONLINE EDIT)

1 Çalışma sırasında düzenleme modu. Çalışma sırasında düzenleme yapılırken aşağıdaki


Sembol gözükür.

2 Düzenleme işlemi bittiğinde aşağıdaki sembol seçilir.

Not: Eğer düzenleme yaptığınız program FP0,2 ve 2SH için 128 adımdan uzun ise hata oluşur ve
değiştirilen kısım yüklenmez. Eğer PLC FP Sigma V3 ya da FP-X ise, bunlar RUN TIME
DOWNLOAD( Çalışma Sırasında Yükleme) isimliyenibirözelliğesahiptir. Bu çalışma sırasında bütün
programın yüklenmesi anlamına gelir. Panasonic dışındaki markalarda bu özellik yoktur. Bu da FP-
X’in ne kadar üst düzey olduğunu gösterir.

You might also like