s7-1200 ile bu program tek bir komutla nasıl yapılır?

Merhaba;

blok mov komutunu kullanmalısın.

GIRISE P#I0.0 BYTE 50 CIKISA P#M0.0 BYTE 50 yazarsan ve trig verirsen bu iş olur.

her seferinde 50 byte taşıyabilirsin.

yazmış olduğunuzu yaptım I0.0 ı aktif ettiğimizde m0.0 aktif oluyor I0.1'i aktif ettiğimizde m0.1 aktif oluyor benmi yanlış yapıyorum benim istediğim ı0.0'ı aktif ettiğimde dw0=dw1b dw1=dw2...dw999=dw1000 şekilde bir sistem sizin yazdığınız ı.00 aktif se m0.0 aktif oluyor ı0.0 pasif olduğunda m0.0 pasif oluyor
sizin yazmış olduğunuz blk mov komutu aşağıdaki programın kısaltmasımı:
I0.0--------------out m0.0
I0.1--------------OUT M0.1
.
.
.
I50.0-------------OUT M50.0
 
tamam arkadaşım aynı şey işte.

sana sadece aktarma yolunu gösterdim.

sırasıyla bunları tarayan bir array yapabilirsin.

bunu da sana gönderebilirim. stl ile yapılır.

senin yapmak istediğin şey log tutmak.

yani mw0 a yazdığın her seferinde mw2 sonra mw4 e aktarmak.

sayısına göre mov blok ya da göndereceğim kodu kullanabilrsin.
 
Örnek bir uygulama gönderirsen sevinirim başka arkadaşlarda yararlanır güzel olur
 
S7 1200 lerde yeni bir komut var.. Poke_blk manuelleri incelersen net cozüm bulacaksınız...

POKE_BLK(
area_src := 16#84, // DB Area
dbNumber_src := 29, // Source datablock number
byteOffset_src := 8, // 'CONFIG' structure address start in source DB
area_dest := 16#84, // DB area
dbNumber_dest := 50, // Target datablock number
byteOffset_dest := 10, // 'CONFIG' structure address start in destination DB
count := 6 // Number of total bytes to copy
);

How to write/copy memory area using POKE_BLK in Siemens TIA PORTAL
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için onları kabul etmelisiniz. Daha fazla bilgi edin…