Siemens S7 1200
Tia Portal ile Yapısal Programlama
Herkese merhaba,
Bugün geniş kapsamlı otomasyon projelerinde muhakkak kullanılan '' Yapısal Programlama '' konusuna giriş yapacağız.
Yapısal programlama nedir, hangi amaçla kullanılır ve neden ihtiyaç duyarız gibi sorulara cevap vermeye çalışacağız.
Başlamadan önce bilmek gerekir ki bütün fonksiyonlar, fonksiyon bloklar ve data bloklar ana program olan OB1 içerisinde yürütülür. Küçük çaplı uygulamalarda '' OB1 '' ana bloğu yeterli olmakla birlikte büyük çaplı uygulamalarda FC ve FB'lerden faydalanılır.
Bunun birçok sebebi olmakla birlikte, basitçe onlarca farklı motorun olduğu bir makinede her motor için ayrı ayrı kod yazmaktansa yazılımcılar tek bir '' motor sürme bloğu '' oluşturup ihtiyaç duyulan yerlerde bu motor bloğunu çağırmayı tercih eder.
Yapısal programlamanın bunun dışındaki faydaları ise ;
- programı mantıklı küçük parçalara bölerek hata ve arıza aramayı kolaylaştırır. Arıza anında bütün programı taramaktansa ilgili fonksiyon bloğa gitmek zaman kazandırır.
- kullanılan sabit değerleri Data Blok'da saklayarak programın hafızasını azaltır, gerektiğinde sabit değeri programa girmeye gerek kalmadan değiştirmeyi sağlar.
- yazılan bloğun tekrar tekrar kullanılmasını sağlayarak iş gücünden kar elde etmeyi sağlar. ( yukarıda belirttim. )
- Bazı özel interrupt programlarının çalışmasını sağlar.
- '' Add New Block '' >> '' Function ( FC ) '' >> Drive_Motor yolunu izleyerek yeni bir fonksiyon oluşturdum.
- In : Yalnızca input olarak kullanılacak lojikler burada tanımlanır.
- Out : Yalnızca output olarak kullanılacak lojikler burada tanımlanır.
- InOut : Hem input hem de Output olarak kullanılacak lojikler burada tanımlanır.
- Temp : Geçici hafıza alanıdır.
- Constant : Geçiçi olarak hafıza tutulacak değişkenler burada tanımlanır.
- Return : Fonksiyonun döngüde çağıracağı son değerdir. Burada '' Drive_Motor ''
- En son olarak ise oluşturduğum bu fonksiyonu OB1 ana bloğu içerisinde çağırdım.
Fonksiyon Blok ( FB ) : Fonksiyon blokların fonksiyonlara göre en büyük farkları ise program çağırılıp kullanıldıktan sonra bile hafızalarında veri saklayabilmeleridir. FB'ler bu verileri '' static '' tagı altında tanımlanan özel memory bit'lerde saklar.
FB'ler bu özelliğe her oluşturulduklarında kendileri ile birlikte bir Data Blok ( DB ) oluşması sayesinde sahip olurlar, bu DB'ler her program yürütüldükten sonra bile verilerin saklanmasını sağlarlar.
Fonksiyon bloklarda da fonksiyonlarda olduğu gibi '' Interface '' sekmesi altında lojiklerin tanımlamaları yapılır.
- In : Yalnızca input olarak kullanılacak lojikler burada tanımlanır.
- Out : Yalnızca output olarak kullanılacak lojikler burada tanımlanır.
- In/Out : Hem input hem de output olarak kullanılacak lojikler burada tanımlanır.
- Temp : Geçici hafıza alanlarıdır.
- Static : Kalıcı hafıza alanlarıdır.
- Return : Fonksiyonun çalışmasını bitirdikten sonra çağırdığı değerdir.
- https://instrumentationblog.com/
- https://support.industry.siemens.com/
Yorumlar
Yorum Gönder