Merhaba,
Veri saklayıp servonun bulunduğu konuma gelince parça ölçülerine göre çalışacak bir uygulama geliştireceğim. Genişlik ve uzunluk verilerini kaydedip sırasıyla tekrar işlemek istiyorum. Parçalar geldiği sürece döngüye girmesi gerekiyor. Bu komutu FATEK ile en doğru şekilde nasıl yapabilirim?
SIEMENS LGF_FIFO KOMUTU WİNPROLADER İLE YAPMA
SIEMENS LGF_FIFO KOMUTU WİNPROLADER İLE YAPMA
- Dosya ekleri
-
- UYGULAMA.png (24.76 KiB) 75 kere görüntülendi
Re: SIEMENS LGF_FIFO KOMUTU WİNPROLADER İLE YAPMA
Merhabalar
FUN110 QUEUE FIFO
*Bu uygulamada FUN110 QUEUE komutu kullanılarak FIFO(İlk giren, ilk çıkan) mantığında çalışan bir kuyruk yapısı oluşturulmuştur.
*Kuyruk alanı R100–R109 register’larıdır ve toplam 10 eleman kapasitelidir. Kuyruk uzunluğu R200 (L) parametresi üzerinden değiştirilebilir.
*Kuyruk kontrolü R300 (Pointer) üzerinden yapılır. R300, kuyrukta kaç adet geçerli veri olduğunu ve sıradaki işlem yapılacak konumu belirtir.
*Komut, yalnızca EN girişine verilen yükselen kenarda (pulse) çalışır.
Push işlemi (veri ekleme):
*I/O = 1 olduğunda komut Push modunda çalışır.
*EN girişine her pulse geldiğinde, R0’daki veri kuyruğun sonuna eklenir.
*Veri, R300 değerine göre R100’den başlayarak sıralı şekilde yazılır.
*Her push işleminden sonra R300 değeri 1 artar.
*Bu nedenle, I/O açıkken her M0 tetiklemesinde R0’daki değer kuyruğa eklenir ve yazma işlemi bir sonraki register’a ilerler. Bu davranış normaldir ve FIFO yapısının gereğidir.
Pop işlemi (veri çıkarma):
*I/O = 0 olduğunda komut Pop modunda çalışır.
*EN girişine pulse geldiğinde, R300’ün işaret ettiği register’daki veri kuyruğun içinden alınır.
*Alınan veri R400 adresine yazılır.
*Pop işleminden sonra R300 değeri 1 azalır.
Önemli notlar:
*R300 normal çalışma sırasında elle değiştirilmez, sadece başlangıçta 0 yapılır.
*Kuyruktan veri çıkarıldığında, ilgili register fiziksel olarak silinmez; sadece pointer geri alınır. Geçerlilik R300 ile yönetilir.
*R0 sadece Push işlemi sırasında kullanılır. Pop modunda R0’ın değeri önemli değildir.
*Kuyruk dolu olduğunda (R300 = 10) Push işlemi yapılmaz ve FUL bayrağı aktif olur.
Özet:
Kuyruk alanı: R100–R109
Push → R0 → kuyruk → R300 artar
Pop → kuyruk → R400 → R300 azalır
EN pulse ile çalışır.
Gözlenen tüm davranışlar komutun normal ve beklenen çalışma şeklidir
Örnek proje ektedir. İyi çalışmalar.
FUN110 QUEUE FIFO
*Bu uygulamada FUN110 QUEUE komutu kullanılarak FIFO(İlk giren, ilk çıkan) mantığında çalışan bir kuyruk yapısı oluşturulmuştur.
*Kuyruk alanı R100–R109 register’larıdır ve toplam 10 eleman kapasitelidir. Kuyruk uzunluğu R200 (L) parametresi üzerinden değiştirilebilir.
*Kuyruk kontrolü R300 (Pointer) üzerinden yapılır. R300, kuyrukta kaç adet geçerli veri olduğunu ve sıradaki işlem yapılacak konumu belirtir.
*Komut, yalnızca EN girişine verilen yükselen kenarda (pulse) çalışır.
Push işlemi (veri ekleme):
*I/O = 1 olduğunda komut Push modunda çalışır.
*EN girişine her pulse geldiğinde, R0’daki veri kuyruğun sonuna eklenir.
*Veri, R300 değerine göre R100’den başlayarak sıralı şekilde yazılır.
*Her push işleminden sonra R300 değeri 1 artar.
*Bu nedenle, I/O açıkken her M0 tetiklemesinde R0’daki değer kuyruğa eklenir ve yazma işlemi bir sonraki register’a ilerler. Bu davranış normaldir ve FIFO yapısının gereğidir.
Pop işlemi (veri çıkarma):
*I/O = 0 olduğunda komut Pop modunda çalışır.
*EN girişine pulse geldiğinde, R300’ün işaret ettiği register’daki veri kuyruğun içinden alınır.
*Alınan veri R400 adresine yazılır.
*Pop işleminden sonra R300 değeri 1 azalır.
Önemli notlar:
*R300 normal çalışma sırasında elle değiştirilmez, sadece başlangıçta 0 yapılır.
*Kuyruktan veri çıkarıldığında, ilgili register fiziksel olarak silinmez; sadece pointer geri alınır. Geçerlilik R300 ile yönetilir.
*R0 sadece Push işlemi sırasında kullanılır. Pop modunda R0’ın değeri önemli değildir.
*Kuyruk dolu olduğunda (R300 = 10) Push işlemi yapılmaz ve FUL bayrağı aktif olur.
Özet:
Kuyruk alanı: R100–R109
Push → R0 → kuyruk → R300 artar
Pop → kuyruk → R400 → R300 azalır
EN pulse ile çalışır.
Gözlenen tüm davranışlar komutun normal ve beklenen çalışma şeklidir
Örnek proje ektedir. İyi çalışmalar.