Çok tşk. ederim cevaplarınız için.Sanırım Hansandersenin cevabı benim için daha uygun..parametrik blok olayını biliyorum fakat bu konuda pratik degil.
Üstad bu kodların ifadesi nedir kısaca acıklayabilirmisin?bir de son deger 8383 olabilir kısmının hesabını neye göre yapıyoruz ? ögrenmek için detayları soruyorum ??? call fill de fill diye bi blok mu cagırıyosun? çok teşekkürler iyi çalışmalar
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.
MW0=0 ISE M1000.0=1
MW0=1 ISE M1000.1=1
MW0=2 ISE M1000.2=1
.................
MW0=8383 ISE M2047.7=1 (8383 ÇARPIMIN ALABILECEGI SON DEGERDIR)
Kod:
L 0 // Aku 1 e 0 yukle
T MB 300 // MB300 adresindeki değeri akü 1 transfer et
CALL "FILL" // sfc 21 i çagır
BVAL :=MB300 // mb300 adresinde oluşan degerleri
RET_VAL:=MW400 //m1000.0 dan itibaren baslayarak 1048 byte
BLK :=P#M 1000.0 BYTE 1048 // kadar yaz
L MW 100 // mw100 adresinindeki değeri akü 1 e yükle
L MW 200 // mw200 adresindeki değeri akü 2 ye yükle
*I // mw100 ile mw200 adreslerinin içeriğini çarp
T MW 0 // carpımın sonucunu mw 0 adresine transfer et
L 8383
>I
JC stp
L 1000
SLD 3
LAR2
L MW 0
+AR2
S M [AR2,P#0.0]
stp: NOP 0
Projeyi denedim gayet güzel çalışıyor.Cok tşk.ler . İlk durumda da denemiştim ancak simatic manager a direk bu sayfadan kopylayıp yapıştırdıgım için 'fill' kısmı kırmızıda kalıp hata vermişti o yuzden sormustum..
Üst kısımda anlayabildiğim kadarını yazdım dogrulugunu bilemiyorum..Alt tarafda da shift left komutu war (help ten okudum) yani en sagdan referans alarak 3 bit sola kay anlamında mı kullandınız?1000.0 daki olay bu mudur? 3. bit 0,1,2,3 olarak değiştiren kısım mıyani ???