1. sayfa (Toplam 1 sayfa)

offset adres

Gönderilme zamanı: 05 Kas 2025, 09:18
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.

Re: offset adres

Gönderilme zamanı: 05 Kas 2025, 10:11
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.