Hmi den plc programlama

hkn_blt

Üye
Katılım
31 Ağu 2009
Mesajlar
1,160
Puanları
31
merhaba. şöyle birşey yapmak istiyorum mantık nasıl olmalıdır yardımcı olabilcek var mı ?
şimdi hmi üzerinden plc ye işlem yaptırmak istiyorum . diyelimki bir makinam var ve makina 2 adet servo ve 10 adet digital output var. ben hmi üzerinden adım adım bu motorları ve outpuları programlamak istiyorum. yani hmidr 1. satıra 2. motor şukadar git sonra şu çıkışı aktif et 2. satırda başka işlmler yap gibi.. yani sabit bir algoritma değilde hmi üzerinden istediğim işlemleri yapsın istiyorum . nasıl bir yol izlmek gerekli? umarım anlatabilmişimdir?
 
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 tarafında bir hafıza alanını kendine göre tasarla ;

Örnek:

M000 = komut
M001 = parametre
M002 = son işareti = ffff

M003 = komut
M004 = parametre
M005 = son işareti = ffff

PLC nin içerisinde bir adres pointerin olsun ve cnt ile arttığını düşün.
Gelen adresteki komutu yorumla(!) yani fixed komutların olmalı switch bloğunu (Delta PLC) kullanabilirsin.

Bu adres alanlarını ise HMI'dan değiştirdiğinde bir de çalış adresin olsun M999 gibi bu 1 olduğunda ilgili yorumlama kısmını çalıştır.

Tabi bu kadar basit anlatımın hem PLC hem de HMI tarafında da işi var :)

Yukarıdakiler tamamen kurgusal ve optimizasyonu olmadan tasavvur edildi hali ile detaylı çalışma yapmak lazım.
 
cevabınız kafamda bir ışık yaktı tşkler.
 
Merhabalar,

Servo’ya HMI üzerinden belirlediğiniz adımları yapmasını istiyorsanız;

SINA_POS bloğunu kullanmanın bir çok yardımı dokunacaktır.

PLC üzerinden sürekli bir request oluşturmalısınız. Current değer ile request değeri karşılaştırıp requested değere atmalısınız. Servo pozisyon, hız, enable, rampa bilgilerini oradan yazabilir sonra alabilirsiniz.

Tek bir data block oluşturup bu bilgileri orada saklayıp, kullanıcıdan istediğiniz değerler ile karşılaştırıp yapabilirsiniz.

Çıkış konusuna gelecek olursakta, her çıkış için hmi’dan bir şart bekleyebilirsiniz. O şartları HMI üzerinden belirler ve ona göre aktif edebilirsiniz.
 
Merhabalar,

Servo’ya HMI üzerinden belirlediğiniz adımları yapmasını istiyorsanız;

SINA_POS bloğunu kullanmanın bir çok yardımı dokunacaktır.

PLC üzerinden sürekli bir request oluşturmalısınız. Current değer ile request değeri karşılaştırıp requested değere atmalısınız. Servo pozisyon, hız, enable, rampa bilgilerini oradan yazabilir sonra alabilirsiniz.

Tek bir data block oluşturup bu bilgileri orada saklayıp, kullanıcıdan istediğiniz değerler ile karşılaştırıp yapabilirsiniz.

Çıkış konusuna gelecek olursakta, her çıkış için hmi’dan bir şart bekleyebilirsiniz. O şartları HMI üzerinden belirler ve ona göre aktif edebilirsiniz.
cok guzel acıklamıssınız fakat kusurabkamayın pek anlayamadım nedemek isdediginiz
 
Eğer bir program örneği oluşturacak olursak.

DB -> Servo
PositionRequest (HMI istenilen değer)
RequestedPosition (İstenilmiş değer)
OldPositionReq (Eski istenilmiş değer)
LoadToData (İstenilirse eğer otomatik olarak değilde, sadece HMI’dan değerleri yükle dediğinde kaydetmesi için.)

(SCL dilinde)
IF LoadToData = TRUE THEN
OldPositionReq := RequestedPosition;
RequestedPosition := PositionRequest <> OldPositionReq;
END_IF;

// Bir if döngüsünde bu şekilde istenilen değerler, istenilmiş değeri karşılaştırıp pozisyon bilgilerini alabilirsiniz. (Herhangi bir değer olabilir. Pozisyon, Hız, Rampa parametreleri.)

// İstenilmiş değeri servo bloğunuza gönderdikten sonra, servonuz istenilmiş değerlere göre hareket edecektir.
 

Forum istatistikleri

Konular
128,148
Mesajlar
915,463
Kullanıcılar
449,888
Son üye
kalemx

Yeni konular

Geri
Üst