STL hakkında bir soru

Ç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
 
Yazımızda endüstrinin can damarı sayılabilecek PLC’yi inceleyeceğiz.
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.
Slm Hopkins

Projeyi denemediniz anladığım kadarıyla.FILL (SFC21) dir.

8383 ise CPU319 da merkerlerin sayısı en fazla 2047 byte olabilir.Bu sayı buradan geliyor.CPU nun modeline göre gerekirse bu değeri değiştirmelisiniz.
 
HansAndersen ' Alıntı:
MW100*MW200=MW0

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

Kod:
L +pop
T HansAndersen


Selam ,

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:p) 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 ???
 
Selam vakit bulup kontrol edebildiniz mi acaba ? tşk.ler
 

Yeni mesajlar

Forum istatistikleri

Konular
128,229
Mesajlar
915,979
Kullanıcılar
450,022
Son üye
Azatt

Yeni konular

Geri
Üst