DTM Komutu
- nebusta
- Mesajlar: 90
- Kayıt: 16 May 2018, 09:43
- İletişim:
- Durum: Çevrimdışı
DTM Komutu
İyi günler
Dop10EV de BMOV(({Link2}1@D2500), $104, 4) komutu ile D2500 den itibaran atılmış 4 wordlük veriyi floating veriye dönüştüren komutu paylaşabilir misiniz ?
şimdidene teşekkür eder iyi çalışmalar dilerim...
Dop10EV de BMOV(({Link2}1@D2500), $104, 4) komutu ile D2500 den itibaran atılmış 4 wordlük veriyi floating veriye dönüştüren komutu paylaşabilir misiniz ?
şimdidene teşekkür eder iyi çalışmalar dilerim...
- Turhan
- Mesajlar: 7736
- Kayıt: 07 Mar 2018, 16:06
- Konum: İstanbul
- İletişim:
- Durum: Çevrimdışı
Re: DTM Komutu
16Bit tabanındaki tamsayıyı reel sayıya konvert edebilmek için FLT, 32Bit tabanındaki tamsayıyı reel sayıya konvert edebilmek için DFLT komutunu kullanmalısınız.
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.
- nebusta
- Mesajlar: 90
- Kayıt: 16 May 2018, 09:43
- İletişim:
- Durum: Çevrimdışı
Re: DTM Komutu
Özür diliyorum verilerin ASCII olduğunu belirtmemişim.
D2500 den D2503 e kadar atanmış ASCII verilerin decimal yada floating karşılığını istiyorum.
D2500 den D2503 e kadar atanmış ASCII verilerin decimal yada floating karşılığını istiyorum.
- nebusta
- Mesajlar: 90
- Kayıt: 16 May 2018, 09:43
- İletişim:
- Durum: Çevrimdışı
Re: DTM Komutu
Değerler ASCII olarak yukarıda göründüğü gibi ben onları BMOV ile PLC ye attım. Lakin PLC de ASCII floating dönüşümünü anlamlı bir hale getiremedim.
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: DTM Komutu
Bu çeviriyi yapabilmek için 2 farklı DTM komutu kullanmalısınız.
1. Birinci DTM komutu 16Bit tabandaki -001.100 ASCII karakterlerin her birini farklı bir data dizininin alt byte kısımlarına taşımlalı.
2. İkinci DTM komutu D2601 datasından itibaren 7 word adresin alt byte'ında bulunan ASCII karakterleri Floating sonuca çevirmeli. (ASCII karakter diziliminde Floating ayracı . (nokta) karakteri olmalı.)
3. DTM komutu ASCII Karakter --> Floating çeviriyi yaparken -(eksi) karakterini dikkate almaz. Örneğe göre D2600 datasında - karakteri var ise sonuç değerini -1 ile çarpmalısınız (- karakterinin Hex değeri 002D'dir bunu ayrıca kontrol ediniz.)
Örnek olması bakımından -123.456 sayısının ekran görüntüsünüde mesaja ekliyorum.
.
1. Birinci DTM komutu 16Bit tabandaki -001.100 ASCII karakterlerin her birini farklı bir data dizininin alt byte kısımlarına taşımlalı.
2. İkinci DTM komutu D2601 datasından itibaren 7 word adresin alt byte'ında bulunan ASCII karakterleri Floating sonuca çevirmeli. (ASCII karakter diziliminde Floating ayracı . (nokta) karakteri olmalı.)
3. DTM komutu ASCII Karakter --> Floating çeviriyi yaparken -(eksi) karakterini dikkate almaz. Örneğe göre D2600 datasında - karakteri var ise sonuç değerini -1 ile çarpmalısınız (- karakterinin Hex değeri 002D'dir bunu ayrıca kontrol ediniz.)
Örnek olması bakımından -123.456 sayısının ekran görüntüsünüde mesaja ekliyorum.
.
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.
- nebusta
- Mesajlar: 90
- Kayıt: 16 May 2018, 09:43
- İletişim:
- Durum: Çevrimdışı
Re: DTM Komutu
Teşekkürler Turhan Bey,
Peki PLC den ekrana ASCII olarak "PW,15" gibi bir değeri nasıl gönderebirim ?
Peki PLC den ekrana ASCII olarak "PW,15" gibi bir değeri nasıl gönderebirim ?
- Turhan
- Mesajlar: 7736
- Kayıt: 07 Mar 2018, 16:06
- Konum: İstanbul
- İletişim:
- Durum: Çevrimdışı
Re: DTM Komutu
ASC komutunu kullanabilirsiniz. bu komut ile tanımlayacağınız karakter uzunluğu 8 karakter olmalıdır. Tanımlanacak karakter sayısı 8'den az ise kullanılmayan basamakları boşluk karakteri ile doldurabilirsiniz.
|LD M1000|------------|ASC ABCD1234 D100|
|LD M1000|------------|ASC ABCD1234 D100|
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.
- nebusta
- Mesajlar: 90
- Kayıt: 16 May 2018, 09:43
- İletişim:
- Durum: Çevrimdışı
Re: DTM Komutu
Turhan Bey bu karekterleri haberleşme için kullanıcağım bu sebepten boşluk karekterleri mesaj paketini bozuyor ve haberleştiğim cihaz hata kodu yolluyor.
Sadece yazdığım karekterleri paket halinde göndermemin yolu yok mu ?
Sadece yazdığım karekterleri paket halinde göndermemin yolu yok mu ?
- Turhan
- Mesajlar: 7736
- Kayıt: 07 Mar 2018, 16:06
- Konum: İstanbul
- İletişim:
- Durum: Çevrimdışı
Re: DTM Komutu
DVP serisi PLC modellerinde karakterler 16Bit D data register alanlarında saklanmaktadır. Farklı bir karakter işleme methodu bulunmamaktadır.
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.
- nebusta
- Mesajlar: 90
- Kayıt: 16 May 2018, 09:43
- İletişim:
- Durum: Çevrimdışı
Re: DTM Komutu
Bu komutları Fonksiyon blokta kullanmamda bir sakınca yok değil mi ?
Giriş olarak ASCII karekterlerin girdiği ve sonucun floating çıktığı bir FB oluşturmak istiyorum.
Burada fonksiyon blok içerisinde d2600 yerine tanımmlayacağım taglı değişkende D2601 e erişimi nasıl sağlayacağım ?
Giriş olarak ASCII karekterlerin girdiği ve sonucun floating çıktığı bir FB oluşturmak istiyorum.
Burada fonksiyon blok içerisinde d2600 yerine tanımmlayacağım taglı değişkende D2601 e erişimi nasıl sağlayacağım ?
Bu mesaja eklenen dosyaları görüntülemek için gerekli izinlere sahip değilsiniz.