1. sayfa (Toplam 3 sayfa)

Makrolar

Gönderilme zamanı: 11 Nis 2018, 20:32
gönderen MEHMET34
Makrolarda bulunan alt makro, başlangıç makrosu,arka plan makro ve Clock makro,nerelerde kullanılıyor. Makrolar ı okudum ancak nerelerde nasıl kullanacağımı anlayamadım
kısaca bana açıklama yaparsanız ve hepsinden küçük birer örnek gönderirseniz çok memnun olurum. Yardımlarınız için teşekkür ederim.

Re: Makrolar

Gönderilme zamanı: 11 Nis 2018, 20:44
gönderen Uğur
Macrolar her yerde aynıdır aynı görevleri yerine getirirler. Fark yazıldığı yer ve çalışma zamanlamasıdır.

Başlangıç macro —> Buraya yazılan macrolar HMI ilk enerjilendiği zaman bir kere çalışır. HMI enerjilendiğinde yaptırmak istediklerimizi buraya yazmalıyız.

Arkaplan macro —> Buraya yazılan macro HMI çalıştığı sürece arkaplanda sürekli çalışır. Heran çalışıp isrteğimiz işlem ve kontrolleri yaptırmak istediğimiz macrolar buraya yazılmalıdır.

Clock macro —> Buraya yazılan macrolarda aynı arkaplan gibi çalışırken farkı Yapılandırma sayfasından ayarlanacak clock macro süresi ile macroların belirli bir zaman biriminde bir çalışması sağlanabilir. Örneğin bu sürenin 100 ms olduğunu düşünürsek clock macro içine yazılanlar her 100 ms de bir çalışır. Sürekli değil ama belirli bir periotta bir çalışmasını istediğimiz macrolar buraya yazılmalıdır.

Alt macro —> Bu bir çalışma yeri değildir diğer macrolar gibi. Burada 512 adete kadar içerinde macro ile oluşturulmuş programları Alt macro içerisine yazarak diğer tüm yukarıda bahsedilen macro alanları içeriainde CALL komutu ile çağırarak çalıştırabileceğimiz macro bölümüdür.

Sayfa macroları —> Bu macrolar sadece yazıldığı sayfa açık iken çalışacak macro çeşitleridir.

ON-OFF ve İşem Öncesi-Sonrası macrolar —> bu macrolar buton değer gir gibi elementlerin dokunarak işleme tabi tutulduğunda aynı anda eş görevlerin tanımlanabileceği macro yazma bölümleridir.

Re: Makrolar

Gönderilme zamanı: 10 Tem 2018, 10:00
gönderen pelezinho07
13 dijital girişin 1 ve 0 durumlarını hmı panel üzerinde görüyorum. buna ilave ek bir kontak butonu koyup 13 girişin 1 ve 0 durumunun ayrıca tek bu butondan görmek istiyorum.makrolarda şekilde görüldüğü gibi adreslemede yaptım.fakat istiyorumki kontak girişt eşitlendiği adresteki değeri 1 okursa şekildeki gibi ünlem çıkarsın.fakat bu 10003,10004 gibi girişlerde bu işareti göstermiyor.bu sorunu nasıl çözebiliriz?

Re: Makrolar

Gönderilme zamanı: 10 Tem 2018, 10:07
gönderen Uğur
Peki o butonun hangi adresi o an görüntüleyeceğini ne ile seçiyorsunuz? Offset adresi ile bir mantık işletilebilir fakat bir word adresten değer ile hangisinin görüntüleneceğini seçmelisiniz.

HMI Ofset Adresi Kullanımı (Buton)

Re: Makrolar

Gönderilme zamanı: 10 Tem 2018, 10:18
gönderen pelezinho07
butonun hangi adresi görüntülemesi şu şekil oluyor ben 10001 gişini 1 yapınca kontakta makroda tanımladığım adresteki veriye erişip 1 duruma erişiyor.kontağın data adresini word yapıp durum sayısını 13 e getiriyorum.fakat 3. veya 4. girişleri 1 yaptığımda kontakta uyarı lambası çıkmıyor

Re: Makrolar

Gönderilme zamanı: 10 Tem 2018, 10:31
gönderen Uğur
Ekteki örnekteki ofset adresi kullanıp ofseti değiştirmek suretiyle durumun hangi adresi göstereceği kontrol edebilirsiniz.

Re: Makrolar

Gönderilme zamanı: 10 Tem 2018, 10:33
gönderen Uğur
Durumu tek tek değilde herhangi birinin aktif olduğunda buranın aktif olmasını istiyorsanız ozaman taşıma macrosu ile değil IF macrosu ile karşılaştırma yaparak elde edebiliriz. Burum bu şekilde ise daha açıklayıcı anlatın ki yapmak istediğiniz tam nedir karışıklık olmasın.

Re: Makrolar

Gönderilme zamanı: 10 Tem 2018, 10:45
gönderen pelezinho07
aynen hocam dediğiniz gibi herhangi birinin aktif olmasında kontğımın da aktif olmasını istiyorum. İF makrosunun nasıl yapılacağını anlatırsanız çok sevinirim

Re: Makrolar

Gönderilme zamanı: 10 Tem 2018, 11:04
gönderen Uğur
Aşağıdaki macro örneğindeki gibi her birini karşılaştırıp birinin aktif olması durumunda LABEL 1 satırına dallandırarak $0.0 ON yapılır. Fakat herhangi birinde aktif değil ise $0.0 OFF yapılır.

Kod: Tümünü seç

IFB {Link2}1@B10001 == ON THEN GOTO LABEL 1
IFB {Link2}1@B10002 == ON THEN GOTO LABEL 1
IFB {Link2}1@B10003 == ON THEN GOTO LABEL 1
IFB {Link2}1@B10004 == ON THEN GOTO LABEL 1
IFB {Link2}1@B10005 == ON THEN GOTO LABEL 1
IFB {Link2}1@B10006 == ON THEN GOTO LABEL 1
IFB {Link2}1@B10007 == ON THEN GOTO LABEL 1
IFB {Link2}1@B10008 == ON THEN GOTO LABEL 1
IFB {Link2}1@B10009 == ON THEN GOTO LABEL 1
IFB {Link2}1@B10010 == ON THEN GOTO LABEL 1
IFB {Link2}1@B10011 == ON THEN GOTO LABEL 1
IFB {Link2}1@B10012 == ON THEN GOTO LABEL 1
IFB {Link2}1@B10013 == ON THEN GOTO LABEL 1
BITOFF $0.0
GOTO LABEL 2
LABEL 1
BITON $0.0
LABEL 2
END

Re: Makrolar

Gönderilme zamanı: 10 Tem 2018, 11:17
gönderen pelezinho07
yapmak istediğim aynen buydu hocam teşekkür ederim.fakat gönderdiğiniz kodu arkaplan makroda yazmama rağmen panele yüklerken hata alıyorum.Bir yeri kaçırmış olabilir miyim acaba?