Önemli Bilgilendirme!
Forum sayfamızdan sınırsız faydalanmak için kullanıcı kaydı oluşturup giriş yapmalısınız. Özellikle mesaj eklentileri, linkler kullanıcı girişi yapmazsanız görüntülenmeyecektir. Aşağıdaki linke tıklayarak üye değilseniz kullanıcı oluşturabilirsiniz.
https://destek.delta-turkey.com/ucp.php?mode=register

offset adres

Cevapla
Kullanıcı avatarı
vetteron
Mesajlar: 1
Kayıt: 05 Kas 2025, 08:43
İletişim:
Durum: Çevrimdışı

offset adres

Mesaj gönderen vetteron »

Merhabalar.

{Link2}1@RW-0 üzerinden (Modbus RTU) haberleştiğim bir cihaz var. . DOP-110CS Dokunmatik Operatör Paneli ile

Cihaz {Link2}1@RW-0 +" Write offset adress "olacak şekilde haberleşiyor. Yani direkt dizinleme yaparak {Link2}1@RW-12 vs yaparak 12. Adres ile haberleşme yapılmıyor. Cihaz hata veriyor.
“{Link2}1@RW-0 + offset adres” olduğunda iletişim kuruyor.


numeric entryden gördüğüm değeri macroda bir if koşulu ile kullanmak istediğim de sorun yaşıyorum.

Örneğin numeric entry {Link2}1@RW-0 + " Write offset adress " ile 12 yazdığımızı düşünün. cihazın 12. register dan bana bir bilgi geliyor. örneğin 4 bilgisi geldiğinde ben bu bilgiyi görüyorum numeric entry nin içinde değiştirebiliyorum klavye ile ama bu gelen veriyi bir $ internal memory kopyalayamıyorum ve ya makroda bir if koşulan ekleyemiyorum $ internal memory nin içinde olmadığı için.

MOV komutu ilede gelen değeri kopyalamak istersem bir internal memory’nin içine, yine bir $ adresi yok.
Doğrudan $300 = {Link2}1@RW-0 yapmam çünkü o sırada {Link2}1@RW-0 adresinde birden çok offset adresiyle haberleşmeler oluyor. Yani {Link2}1@RW-0 adresinden tek bir veri gelmiyor.


Yukarı da verdiğim örnekte {Link2}1@RW-0 indeksinde olan bir veriyi. “$ internal memory “ adresine nasıl kayıt edebilirim. Ya da numeric entryde gelen veri bellekte nereye saklanıyor. Nasıl ulaşabilirim?

Bu konuda yardım ederseniz sevinirim.
Kullanıcı avatarı
İslam
Mesajlar: 2094
Kayıt: 05 Tem 2018, 13:55
Konum: İstanbul
İletişim:
Durum: Çevrimdışı

Re: offset adres

Mesaj gönderen İslam »

Merhaba,

BMOV komutunu kullanırsanız;

RW-0 index başlangıcı
$0 taşınacak dahili hafızanın başlangıcı olsun.

Buna göre BMOV($0, ({Link2}1@RW-0), 5) komutu;

RW-0-->$0
RW-1-->$1
RW-2-->$2
RW-3-->$3
RW-4-->$4

şeklinde taşıma yapacaktır.
İslam Karadeniz - Technical Support Engineer - DELTA Electronics Turkey
Cevapla

“HMI Forum” sayfasına dön