1. sayfa (Toplam 2 sayfa)

hmı ile macro

Gönderilme zamanı: 31 Eki 2020, 19:50
gönderen yusuf
Merhaba,
Benim sorunum hmi ile dtb ısı kontrolü yaparken 10 derecede farklı pıd olucak 20 derecede farklı,30 derecede farklı pıd girmem gerekiyor bunu macro ile değişik ısılara göre
dtb içindeki p ı d leri ısıya göre atamam gerekiyor hmı macrosunu kullanarak nasıl yapabilirim.

Re: hmı ile macro

Gönderilme zamanı: 02 Kas 2020, 09:30
gönderen Turhan
Merhaba,

Test etme şansım olmadı ancak aşağıdaki gibi olacağını düşünüyorum.

DTB kontrol cihazında 0'dan 3'e kadar 4 farklı PID katsayısı belirleyebiliyorsunuz ve bunu 101CH PID parametre seçimi adresi ile seçebiliyorsunuz. HMI Makro komutları ile

00< |PV-SV| <= 10 ise 101C adresine 0 sayısını
10< |PV-SV| <= 20 ise 101C adresine 1 sayısını
20< |PV-SV| ....... ise 101C adresine 2 sayısını taşıyabilirsiniz.

HMI içerisinde IF yada ELSEIF komutlarını kullanabilirsiniz.

.

Re: hmı ile macro

Gönderilme zamanı: 05 Kas 2020, 16:37
gönderen yusuf
Merhaba Turhan bey,

İlginize teşekkürler Macro konusunda bilgim olmamasına rağmen yardımınızla bişey yaptım,fakat işi bitiremedim.örnek arka plan macroda 27 dereced P ye 27 yi atıyor
28 derecede P ye 28 atıyor fakat bunu daha fazla artıramadım burada takıldım örnek üzerinde bi düzeltme yapıp

29 derecede PID nin P sini 29 yapsın.
30 derecede PID nin P sini 30 yapsın.
31derecede PID nin Psini 31 yapsın.

sıcaklık terse giderken de 31,30.29,28 de değerleri eski haline değiştirsin.

Örnek program ve arka plan macro ektedir.şifre yok.

Tekrar teşekkürler.

Re: hmı ile macro

Gönderilme zamanı: 06 Kas 2020, 10:28
gönderen Turhan
Bu şekilde bir çalışma prosesinize uygun olacaksa makronuzu aşağıdaki gibi kullanabilirsiniz.

Örnek :

IF $1 == 10
$1 = $1 +1
ELSEIF $1 == 20
$1 = $1 +2
ELSE
$1 = $1 +15
ENDIF

Eğer $1 datasının değeri 10 ise $1 datasına 1 ekleyen (IF), eğer $1 datasının değeri 20 ise $1 datasına 2 ekleyen (ELSEIF) eğer $1 datasını değeri 10 ve 20’ den farklı bir değerse $1 datasına 15 ekleyen (ELSE) makro program.
IF komut satırı ENDIF ile sonlandırılmalıdır. Çoklu durum karşılaştırmaları IF ile başlar, aradaki karşılaştırmalar ELSEIF ile devam eder, son karşılaştırma ELSE komutu ile karşılaştırma sonlandırılır ve ENDIF ile IF makro komutu sonlandırılır.

Re: hmı ile macro

Gönderilme zamanı: 09 Kas 2020, 19:58
gönderen yusuf
Tekrar merhaba Turhan bey,

Yardımlarınızdan sonra baya bi düzelttim,tek sorunum kaldı negatif yani mesela örnek aşağıdaki macroya -15 değerini yazamadım 0 ın üstündeki rakamlarda sorun yok fakat
IF {Link2}2@TEMP_CTRL-1000 >= -150 - eksi geldiği zaman olmuyor eksi işaretini yazmassam oluyor.Bana( - ) eksi değerler lazım olduğundan sorunum bu kaldı.

Tekrar sağolun..

Re: hmı ile macro

Gönderilme zamanı: 10 Kas 2020, 09:29
gönderen Turhan
Karşılaştırma komutunda kullanacağınız negatif sayıları boş bir $ data alanına taşıyıp bu data değerinide kullanabilirsiniz. Ayrıca karşılaştırma komutunda "İşaretli" sekmesinin seçili olduğuna emin olunuz.

.

Re: hmı ile macro

Gönderilme zamanı: 11 Kas 2020, 10:14
gönderen eyupppp
KOLAY GELSİN. plc m0 aktif olunca 1.alt macroyu çagır plcm1 aktif olunca alt mACRO 2Yİ ÇAGIR . plc x0.x1.x2 den herhangi biri aktif olursa m5aktif olsun degilse pasıf olsun.rica etsem ornek bi macro yzarmısınız.

Re: hmı ile macro

Gönderilme zamanı: 11 Kas 2020, 10:31
gönderen Turhan
Aşağıdaki komut örneklerini kullanabilirsiniz. (Komutlar port adı, istasyon numarası ... göre farklılık gösterebilir.)

Kod: Tümünü seç

#X0 On ise 1. Alt Makroyu çağır
IF {Link2}1@X0 == ON
CALL 1
ENDIF



#X0,X1,X2 aktif ise M0 Aktif değil ise Pasif
$10.0 = GETB ({Link2}1@X0)
$10.1 = GETB ({Link2}1@X1)
$10.2 = GETB ({Link2}1@X2)

IF $10 == 7
BITON ({Link2}1@M0)
ELSE
BITOFF ({Link2}1@M0)
ENDIF

Re: hmı ile macro

Gönderilme zamanı: 11 Kas 2020, 10:55
gönderen eyupppp
ARKAPLAN MACROYA DREK YAZMAK YERİNE ALT MACRODAN LAZIM OLANI ÇAGIRMAK HMI NIN CVP ZAMANINI ETKİLERMİ ACABA

Re: hmı ile macro

Gönderilme zamanı: 11 Kas 2020, 11:27
gönderen Turhan
Tabiki etkiler. Arkaplan makro tüm çalışma sayfalarında herhangi bir şart yada gereklilik aranmaksınız çalışan makrodur. Alt makro ise sadece çalışma şartı aktif olduğunda HMI tarafından işlenen komut dizileridir.