Data yer değiştirme

Cevapla
Kullanıcı avatarı
naz
Mesajlar: 10
Kayıt: 18 Kas 2018, 20:17
İletişim:
Durum: Çevrimdışı

Data yer değiştirme

Mesaj gönderen naz »

Merhaba. D2000 ile D2900 arası 0 veya 1 olmak üzere datalar var. Bunları her devirde 15 adet olmak üzere okuyup 1 ise ilgili çıkışı aktif etmem gerekiyor. Yani 15 çıkış için ilk turda 15 datanın (D2000 - D2014) durumu okunacak Y20 - Y36 ona göre set edilecek. Bir sonraki turda set edilen çıkışlar sıfırlanıp D2015 - D2029 okunup onların durumuna göre tekrar Y20 - Y36 set edilecek. Bu şekilde D2900'e kadar devam edip sonra baştan başlanacak. İlk 15 datayı okumak kolay fakat bir sonraki turda D2000 ile D2015, D2001 ile D2016 .... D2014 ile D2029, üçüncü turda da D2015 ile D2030, D2016 ile D2031 .... D2029 ile D2044 yer değiştirmeli. Bunu bir türlü yapamadım. Bir yolu var mı?
Kullanıcı avatarı
Onurrcifcii
Mesajlar: 36
Kayıt: 12 Tem 2021, 09:13
İletişim:
Durum: Çevrimdışı

Re: Data yer değiştirme

Mesaj gönderen Onurrcifcii »

naz yazdı: 06 Ara 2021, 13:15 Merhaba. D2000 ile D2900 arası 0 veya 1 olmak üzere datalar var. Bunları her devirde 15 adet olmak üzere okuyup 1 ise ilgili çıkışı aktif etmem gerekiyor. Yani 15 çıkış için ilk turda 15 datanın (D2000 - D2014) durumu okunacak Y20 - Y36 ona göre set edilecek. Bir sonraki turda set edilen çıkışlar sıfırlanıp D2015 - D2029 okunup onların durumuna göre tekrar Y20 - Y36 set edilecek. Bu şekilde D2900'e kadar devam edip sonra baştan başlanacak. İlk 15 datayı okumak kolay fakat bir sonraki turda D2000 ile D2015, D2001 ile D2016 .... D2014 ile D2029, üçüncü turda da D2015 ile D2030, D2016 ile D2031 .... D2029 ile D2044 yer değiştirmeli. Bunu bir türlü yapamadım. Bir yolu var mı?
Bu durum WSFRP komutu ile yapılabileceğini düşünüyorum ama yapılmıyorsa eğer neden yapılamayacağını yetkili arkadaşlardan biriniz yazabilir misiniz?
Kullanıcı avatarı
Turhan
Mesajlar: 7736
Kayıt: 07 Mar 2018, 16:06
Konum: İstanbul
İletişim:
Durum: Çevrimdışı

Re: Data yer değiştirme

Mesaj gönderen Turhan »

Merhaba,

Index register yada benzeri komutlar ile ardışık word adreslerin durumunu blok blok okuyabilirsiniz. Index register için örnek program parçası aşağıdaki gibidir.

Not: E index register adresinin değeri 0 ise D2000E değişkeni D2000+0 = D2000 data adresi, E index register adresinin değeri 15 ise D2000E değişkeni D2000+15 = D2015 data adresi anlamına gelir.

.
Bu mesaja eklenen dosyaları görüntülemek için gerekli izinlere sahip değilsiniz.
DELTA Electronics Turkey

Forum mesajlarınız, kullandığınız ürünlere ait tam model kodları ve detaylı teknik açıklamalar içermelidir.
Kullanıcı avatarı
naz
Mesajlar: 10
Kayıt: 18 Kas 2018, 20:17
İletişim:
Durum: Çevrimdışı

Re: Data yer değiştirme

Mesaj gönderen naz »

Turhan Bey merhaba. Öncelikle cevabınız için teşekkür ederim. Ne var ki ben WPLSoft hiç kullanmadım. Bu nedenle de bazı komutları anlayamıyorum. Rica etsem işaretli komutları açıklayabilir misiniz. Veya mümkünse örneği ISPSoft ile günceleyebilir misiniz.
Bu mesaja eklenen dosyaları görüntülemek için gerekli izinlere sahip değilsiniz.
Kullanıcı avatarı
Turhan
Mesajlar: 7736
Kayıt: 07 Mar 2018, 16:06
Konum: İstanbul
İletişim:
Durum: Çevrimdışı

Re: Data yer değiştirme

Mesaj gönderen Turhan »

WPLSoft'daki komut satılarının aynısın ISPSoft için oluşturabilirsiniz. Komutlar birebir aynıdır. Yanlızca index adreslemede WPLSoft'da D2000E yerine D2000@E0 yazmalısınız.

BMOV D2000@E0 D100 15 komut satırı; E =0 ise D2000'den itibaren ardışık 15word alanı D100'den itibaren ardışık 15word uzunluğunda blok olarak taşır.

BLD D100 0 komut satırı; D100 data adresinin 0. biti aktif ise (sayı değeri 1 ise) aktif olan şartlı kontaktır.

E index registerinin değerin 15 birim arttırarak sırası ile D2000-D2014, D2015-D2029 ... data bölgeleri blok blok sırası ile D100,101,102.. data alanlarına taşınmış ve adres değerleri BLD komutu ile karşılaştırılmıştır.

.
Bu mesaja eklenen dosyaları görüntülemek için gerekli izinlere sahip değilsiniz.
DELTA Electronics Turkey

Forum mesajlarınız, kullandığınız ürünlere ait tam model kodları ve detaylı teknik açıklamalar içermelidir.
Cevapla

“PLC Forum” sayfasına dön