Real time uygulaması

murtkenan

Üye
Katılım
13 Ocak 2008
Mesajlar
24
Puanları
1
Yaş
40
arkadaşlar PLC de real time kullanırken hangi formatta kullanmam gerekir. Yani timer kullanırken s5time#20m kullanarak istediğimiz işlemi yapıyoruz aynı işlemi real time da yapmak için hangi formatta yazmamız gerekir ve plc de gerçek zamanı ayarladıktan sonra başka ayar yapmaya gerek varmı. Yardımcı olursanız sevinirim.
 
KNX Standardı, küçük bir rezidansın içerisindeki aydınlatma, perde panjur, klima kontrolünden, Dünya’nın en büyük havalimanlarındaki aydınlatma otomasyonu gibi çözümler için tercih edilen bir Dünya standardıdır.
Yazımızda endüstrinin can damarı sayılabilecek PLC’yi inceleyeceğiz.
PLC ler zaten RT sistemlerdir. RT kavramını daha iyi kavramak için şu yazıyı okuyabilirsin:
emrah: Gerçek zamanlı (real-time) sistem nedir?

Yapmak istediğin çok kesin olarak (en azından tahammül edebileceğin bir sapma ile) zaman ölçümü yapmak ise bu PLC' den PLC' ye biraz değişebilir. Verdiğin örnek S5 zamanlayıcı olduğuna göre S7 PLC olduğunu varsayıyorum. S7 de daha kesin zaman ölçümleri için sanırım OB35 kullanılabilir. Zira ayarlanan periyotta OB1' i keser ve işlem yapar. Yani önceliklidir. OB35 içinde bir de ivedi komutları kullanırsan tarama süresi sonunu beklemeden çıkışlara veri aktarmış olursun. Aklıma ilk gelenler bunlar. Aslında S7 deniz derya ve başka olanaklar da sunabilir. Araştırmak gerek.
 
PLC ler zaten RT sistemlerdir. RT kavramını daha iyi kavramak için şu yazıyı okuyabilirsin:
emrah: Gerçek zamanlı (real-time) sistem nedir?

.

Gönderdiğiniz linkte de anlatıldığı gibi PLC real time değildir. PLC de kodun işleme süresi var. O süre kadar gecikme oluyor. Bu nedenle kesme kullanılıyor zaten. Kesmelerde de alt programın işleme süresi kadar gecikme oluyor ama daha tolere edilebilir. Bu durumda real-time sisteme örnek olarak FPGA gibi sistemleri verebiliriz.

Ancak belirtmek isterim eğer PLC lere yüklenen iş miktarı bu gecikmeden etiklenmeyecek yavaşlıkta ise PLC de gerçek zaman özelliği ile çalışabilir.
 
Gönderdiğiniz linkte de anlatıldığı gibi PLC real time değildir. PLC de kodun işleme süresi var. O süre kadar gecikme oluyor. Bu nedenle kesme kullanılıyor zaten. Kesmelerde de alt programın işleme süresi kadar gecikme oluyor ama daha tolere edilebilir. Bu durumda real-time sisteme örnek olarak FPGA gibi sistemleri verebiliriz.

Ancak belirtmek isterim eğer PLC lere yüklenen iş miktarı bu gecikmeden etiklenmeyecek yavaşlıkta ise PLC de gerçek zaman özelliği ile çalışabilir.

Bir sistemde kod çalışması onun RT oladığı manasına gelmez. Aksi halde koddan ibaret olan QNX, VxWorks, WinCE gibi işletim sistemlerine de RT işletim sistemi denilmezdi. Üstelik bu işletim sistemlerinin hepsinde kesme de vardır.

Yazıda hız konusunda şu paragraf vardır:
Gerçek zamanlı sistem hızlı mı olmalı?
Aşçımız, evde çocuklarına yemek pişiren bir anne ise hızlı olmasına gerek yoktur, üç tencereyi kontrol altında tutabilmesi yeterlidir. Ama onlarca yemeğin aynı anda hazırlanması gereken bir lokanta söz konusu ise bunca yemeği aynı anda kontrol edebilecek ve hepsinin tam kıvamında pişmesini sağlayabilecek hızlı bir aşçıya ihtiyaç vardır.

Tabii aşçının hızlı olması, yemekleri tam kıvamında pişireceğinin garantisi değildir. Ama aynı zamanda, beş kap yemeği tam kıvamında pişirebilen bir aşçının, yeterince hızlı değilse on kap yemeği tam kıvamında pişireceği de garanti değildir.

Gerçek zamanlı sistemler, kaldırabileceği oranda iş yükleri varsa gerçek zamanlı olma özelliklerini koruyabilirler. Dolayısı ile gerçek zamanlı bir sistem kurgulanırken iş yükü, baştan kesin bir doğrulukla hesaplanmalıdır.

RT bir sisteme çok çok hızlı olduğu için bu ünvan verilmez. RT bir sistemden şahsen benim anladığım, en son tahammül noktanızda en çok korktuğunuz işin %100 yapılacağının garantisi olması demektir benim için. Bu bakımdan PLC lerin çoğu (Pic işlemcililer bu sınıfa girer mi bilmiyorum) hard real-time ünvanını fazlasıyla hak eder.
FPGA yongalarda koşturulan kod olmadığından çok hızlıdırlar doğal olarak. Bu bakımda verdiğiniz görevin de %100 icra edileceğini bilirsiniz. Tüm bunlardan dolayı RT sistemlerdir. Gecikme de ns seviyesindedir ama yine de vardır nihayetinde.
Tahammül zamanınızın 1 sn olduğu bir sistemde, sistemin 5 ms veya 10 ns gecikmesi bizim için sorun oluşturmuyorsa her iki sistem de bizim için RT dir derim. 10 ns gecikmesi olan sistem 5 ms gecikmesi olan sistemden binlerce kat daha hızlı olduğu için daha RT değildir.
 
Real Time işlem süresinin 0,000000000001 ms olduğu bir sistem demek değildir. Real time sistemlerde de gecikme olabilir. Örneğin bir KUKA robotta çalışan VxWin RTOS'un maksimum gecikmesi 12 ms dir. Bu işleme verilen tepkimedir. Proses işletme mantığı ile tepkime mantığı farklı şeylerdir. Real Time bir işlemin "yüzde yüz" olarak tam zamanında gerçekleştirileceğini size garanti eder. Ya da gelen kesme isteklerine tepki verileceğini belirtir. Windows'un böyle bir özelliği yoktur mesela. Elinde iş var ise "yemişim interruptını usta" diyebilir. PLC'ler Hard ve Soft Real Time sistemlerdir. Sizin gördüğünüz gecikme tarama süresi yüzünden olan gecikme. yani proses gecikmesi ama işleme verilen tepkime gecikmesi değil. Örneğin .NET Framework üzerinde kullanılan bir timer nesnesi 50ms olarak Interval verildiğinde diğer interrupt requestlerin etkisiyle 50 ms artacak ya da azalacaktır. Real Time üzerinde de sistemi etkileyen Jitter gibi etken faktörler var.
 
Son düzenleme:

Forum istatistikleri

Konular
129,440
Mesajlar
926,774
Kullanıcılar
451,996
Son üye
Mucothex

Yeni konular

Geri
Üst