ModBus: Veri tipleri
Veri tipi | Açıklama |
---|---|
INT16 | 32768 ila 32767 aralığında tam sayı. |
UINT16 | 0 ila 65535 aralığında ön işaretsiz tam sayı. |
ENUM | Bir sayımdır. Sadece parametreler altında sunulan değerlerden sadece biri konulabilir. |
BOOL | Bir bool değeri tam iki duruma sahip bir parametredir (0 – yanlış/false ve 1 – gerçek/true). Genel olarak sıfırdan büyük tüm değerler true olarak değerlendirilir. |
BITMAP* | 16 bool değerinin bir özetidir (Bits). Değerler 0 ila 15 arasında gösterilir. Sekmede okunacak veya yazılacak sayı, tüm Bitlerin toplamlarıyla, indekslerinin 1×2 üssü değeriyle oluşur.
|
BITMAP32 | 32 bool değerinin bir özetidir (Bits). Hesaplama ayrıntıları için Bitmap üzerinden okuyun. |
* Netleştirmek için örnek:
Bit 3, 6, 8, 15, 1'dir tüm diğerleri 0'dır. Toplam ise 23+26+28+215 = 8+64+256+32768 = 33096 olur. Tersine yol aynı şekilde mümkündür. Bu sırada en yüksek indekse sahip bit ile yola çıkılarak, bu okunan sayının ikinin kuvvetlerinden daha yüksek veya eşit olup olmadığı kontrol edilir. Eğer bu durum söz konusuysa, bit 1 ayarlanır ve sayıdan ikinin kuvveti çıkarılır. Ardından bir sonraki küçük indekse sahip bit ve düz hesaplanan kalan sayılar ile kontrol, bit 0'a ulaşılana veya kalan sayılar sıfır olana kadar tekrarlanır. Netleştirmek için bir örnek: Okunan sayı 1416. Bit 15, 0 olur, çünkü 1416<32768. Bitler 14 ila 11 aynı şekilde 0 olur. Bit 10, 1 olur, çünkü 1416>1024. Kalan sayı 1416-1024=392 olur. Bit 9, 0 olur, çünkü 392<512. Bit 8, 1 olur, çünkü 392>256. Kalan sayı 392-256=136 olur. Bit 7, 1 olur, çünkü 136>128. Kalan sayı 136-128=8 olur. Bit 6 ila 4, 0 olur. Bit 3 1 olur, çünkü 8=8. Kalan sayı 0 olur. Böylece kalan bitler 2 ila 0 olur.