12-03-2012 06:34 AM
merhabalar;
labwiew de;"Oda sıcaklığı istenilen sıcaklıktan 0,5 C küçükse (10 sn) ısıtma vanalarını aç. Oda sıcaklığını 0,5 C geçtiğinde ise kapat. Vanaların tekrar açılması için 1 dakika bekle."
böyle bir program nasıl yapılabilir?
12-03-2012 03:13 PM
Merhabalar Alp Bey;
Aslında sıkça ihtiyaç duyulabilecek temel bir uygulama isterine sahipsiniz.
3-4 programlama elemanının kullanılması ile çözüm sağlanabilir.
1) Boolean karşılaştırma işlemleri ile oda sıcaklığının, belirtmiş olduğunuz limitlerde olup olmadığına bakılabilir.
2) Limitler dışındaysa (Case Structure), belirli bir süre boyunca bu durumun devam etmesi beklenebilir (While döngüsü, Shift Register'lar ve Elapsed Time fonksiyonu).
3) Elapsed Time fonksiyonu sonuçlanırsa, bir dijital kanal vasıtasıyla vana açılabilir. Sonuçlanmazsa (yani 10 sn.den önce oda sıcaklığı limitler içersine dönerse) en başa geri dönülebilir. (State Machine uyarlamasına ihtiyaç var galiba 🙂
4) Vana açıldıktan sonra 1. ve 2. maddelerdeki aynı işlem, bu sefer üst limit için yapılabilir.
5) Vananın tekrar aktif hale gelebilmesi için diğer bir Elapsed Time fonksiyonu ile tüm döngünün hemen başa sarması engellenebilir.
Ufaktan birşeyler deneyebilirseniz, takıldığınız yerlerde yardımcı olacak birileri çıkacaktır 🙂
Kolaylıklar dilerim.
12-04-2012 02:03 AM
Öncelikle çok teşekkür ederim.
Elapsed Time kullanımını ve input/output kısımlarının ne şekilde görev de bulunduğunu biraz açabilirseniz , bu iş olucak gibi.
yardımlarınız için tekrar teşekkürlerimi sunarım.
12-04-2012 02:50 PM
Input-Output için Shared Variable kullanarak, sadece ilgili kısma ait çok hızlıca bir kod oluşturdum. VI Snippet'i ektedir.
Tabii bu kod parçası State Machine uyarlamasının sadece 1 State'ini oluşturacaktır. Listedeki diğer işlemlerin de State Machine'e uygulamanız sonucunda bu iş olur gibi duruyor.
12-05-2012 12:13 AM
yardımlarınız teşekkür ederim. emeğinize sağlık.
12-10-2012 08:01 AM
Candan Bey merhaba,
ekte yapmış olduğum çalışmayı sundum fakat şu aşama da takıldım;
vana kapali olduktan sonra, açılana kadar 1 dakika beklemesi lazım.
programıma göre şöyle bi düşündüm;
vana kapalıyı boolen den sayıya cevirip her bir olduğunda counter gibi bi şey varsa içeriğini artırıp ona göre işlem yapmayı düşündüm.
Bunun için ne önerirsiniz .