Fonksiyon Blok Timer Kullanımı

Posted

Fonksiyon Blok Timer Kullanımı

Fulmatic 7 PLC’lerde fonksiyon bloklar içerisinde Timer, Counter gibi statik komutlar kullanılamaz. Fonksiyon bloklar için kendi Timer veya Counter’larınızı oluşturmalısınız. Örnek kodu buradan indirebilirsiniz.

Speed PLC programında 256 adet 1 mili saniyelik timer bulunur. Büyük projelerde bu sayı yeterli değildir. Timer sayısını software timerlar yaparak artırabilirsiniz. Fonksiyon bloklar aynı işi bir çok farklı adres için yapmak üzere tasarlanmış bloklardır. Bu bloklarda Timer ve Counter gibi donanımla birlikte çalışan komutlar kullanılamaz. Fonksiyon bloklar içerisinde kendi oluşturduğunuz software timer’lar kullanmalısınız. Software timerların fonksiyon bloklarda kullanımını örneğimizde görebilirsiniz. Örnek kodu buradan indirebilirsiniz.

PLC programında bazen çok uzun süreler için timer çalıştırmamız gerekebilir. Software timerları bu amaç içinde kullanabilirsiniz. Uzun zamanlı timerlar enerji kesildiğinde kalıcı olması istenebilir. Bu amaçlada software timerlar kullanılabilir. Timer’ın kalıcı olması için StartUp ve ShutDown bloklarında ekstra işlemler gerekebilir. Uzun süreli timerlar için daha güvenli yöntem PLC saatini kullanmaktır. Karşılaştırma komutları ile kolaylıkla yapabilirsiniz.

Fonksiyon bloklar için bir kaç tüyo daha verelim. Fonksiyon blok 8 adet ön yüklemeli parametre alabilir. Bu sayının yetersiz kalması son derece doğaldır. Parametre sayısını artırmak için bir kaç yol izlenebilir.

  1. Bit tipindeki adresler 32 bitlik sayı olarak kullanılabilir. Örneğin Temp0 32 bitlik bir sayı olsun. Fonksiyon blok içerisinde ilk işlemimiz MOV_D komutu ile Temp0 değerini FD0’a transfer edelim. Blok içerisinde Temp0 bitleri için artık FD0 bitlerini kullanabiliriz. Bloğun son komutu ise yine MOV_D olmalı ve bu sefer FD0 Temp0’a transfer edilmelidir.
  2. Fonksiyon blok içerisinde FIELD_R ve FIELD_W komutları ile tüm değişkenlere erişim sağlanabilir. Bu komutlar hakkında daha fala bilgi için Speed PLC programı yardım sayfalarına bakınız.

Leave a Reply