Data yer değiştirme
- naz
- Mesajlar: 10
- Kayıt: 18 Kas 2018, 20:17
- İletişim:
- Durum: Çevrimdışı
Data yer değiştirme
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ı?
- Onurrcifcii
- Mesajlar: 36
- Kayıt: 12 Tem 2021, 09:13
- İletişim:
- Durum: Çevrimdışı
Re: Data yer değiştirme
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?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ı?
- Turhan
- Mesajlar: 7736
- Kayıt: 07 Mar 2018, 16:06
- Konum: İstanbul
- İletişim:
- Durum: Çevrimdışı
Re: Data yer değiştirme
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.
.
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.
Forum mesajlarınız, kullandığınız ürünlere ait tam model kodları ve detaylı teknik açıklamalar içermelidir.
- naz
- Mesajlar: 10
- Kayıt: 18 Kas 2018, 20:17
- İletişim:
- Durum: Çevrimdışı
Re: Data yer değiştirme
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.
- Turhan
- Mesajlar: 7736
- Kayıt: 07 Mar 2018, 16:06
- Konum: İstanbul
- İletişim:
- Durum: Çevrimdışı
Re: Data yer değiştirme
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.
.
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.
Forum mesajlarınız, kullandığınız ürünlere ait tam model kodları ve detaylı teknik açıklamalar içermelidir.