String içinden belli sıradaki karakterleri çekme

Cevapla
Kullanıcı avatarı
mekaph
Mesajlar: 20
Kayıt: 19 May 2018, 13:53
İletişim:
Durum: Çevrimdışı

String içinden belli sıradaki karakterleri çekme

Mesaj gönderen mekaph »

Merhabalar,

Barkod ile 20 karakter uzunluğunda bir kodu 10 word uzunluğunda bir string'e çekiyorum.

Belli konumdaki karakterlerin ne olduğuna göre işlem yapmam gerekiyor.

İhtiyacım olan karakterler bazen bir word datasının ilk, bazen de ikinci karakteri oluyor.
Her bir word adresi 2 karakter içeriyor, bunlardan sadece birini nasıl seçebilirim?

Teşekkürler, iyi çalışmalar dilerim.
Kullanıcı avatarı
Turhan
Mesajlar: 7815
Kayıt: 07 Mar 2018, 16:06
Konum: İstanbul
İletişim:
Durum: Çevrimdışı

Re: String içinden belli sıradaki karakterleri çekme

Mesaj gönderen Turhan »

Merhaba,

SWAP, OR, AND gibi lojik işlemler gerçekleştireceğiniz komutlar hem PLC hemde HMI komutları için desteklenmektedir.

Not: Bu veriyi nerede kullanacağınız ve kullandığınız Delta ürünlerinin tam model kodunu belirtmeniz faydalı olacaktır.
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ı
mekaph
Mesajlar: 20
Kayıt: 19 May 2018, 13:53
İletişim:
Durum: Çevrimdışı

Re: String içinden belli sıradaki karakterleri çekme

Mesaj gönderen mekaph »

Merhabalar Turhan Bey,

Barkod okumasından gelen 20 karakterden;
5. karakterin "A", "B", "D" olup olmadığına,
11 ve 12. karakterlerin "01", "02", "03" olup olmadığına,
14 15 ve 16. karakterlerin "032", "065", "100" olup olmadığına göre bazı M kontaklarını açıp kapamak istiyorum.

Kullandığımız PLC CPU modeli DVP-12SE'dir.

HMI olarak 7" DOP107EV ve 7" Weintek 8070ie kullanmaktayız.

Çok teşekkürler, iyi çalışmalar
Kullanıcı avatarı
Turhan
Mesajlar: 7815
Kayıt: 07 Mar 2018, 16:06
Konum: İstanbul
İletişim:
Durum: Çevrimdışı

Re: String içinden belli sıradaki karakterleri çekme

Mesaj gönderen Turhan »

ASCII olarak okuduğunuz verinin "ABCDEFGH" olduğunu varsayalım ve 5. karakterinin "E" harfi olup olmadığını şöyle anlayabilirsiniz;

ASCII karakterlerin data registeri dizilimi aşağıdaki gibi konumlanacaktır. Yani 5. Harf D2 datasının Low Byte'ında yer almaktadır. D2 datasını H00FF sayısı ile WAND(Word AND) işlemine tabi tutup sonucun H0045 sayısına eşit olup olmadığını sorgulayabilirsiniz.

D0 = BA
D1 = DC
D2 = FE
D3 = HG

Not: E harfi Hex tabanda 0045 sayısına denk gelmektedir. Diğer karakterler için ASCII tablosuna bakmalısınız.
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ı
mekaph
Mesajlar: 20
Kayıt: 19 May 2018, 13:53
İletişim:
Durum: Çevrimdışı

Re: String içinden belli sıradaki karakterleri çekme

Mesaj gönderen mekaph »

Turhan Bey,
Detaylı cevabınız için çok teşekkür ederiz. Hemen deneyeceğiz.
İyi çalışmalar diliyorum
Kağan Akçalar
Meka Otomasyon
Cevapla

“HMI Forum” sayfasına dön