# Modbus Read

Bu fonksiyon bloğu, sağlanan bir Modbus client bağlantısını kullanarak bir Modbus sunucusundan (coils veya registerlar) veri okur. Ekrandaki kontrolleri kullanarak hedef adresi, okunacak değer sayısını ve Modbus veri tipini seçin.

## 📥 Girdiler

`Enable`\
Okumaya izin veren veya engelleyen bir boolean kapısı. False olduğunda blok okuma yapmaz ve veri döndürmez.

`Modbus Client`\
Bir Modbus client bağlantı nesnesi sağlayın (genellikle bir `Modbus Connect` bloğundan gelir). Bu client blok tarafından sunucu ile iletişim kurmak için kullanılır.

## 📤 Çıktılar

`Data`\
Okuma sonucu, genel bir liste olarak döndürülür. Register okumalarında bu, sayısal register değerlerinden oluşan bir liste; coil/discrete okumalarında ise boolean değerlerden oluşan bir listedir. Okuma başarısız olursa veya blok devre dışıysa, çıktı boş/None olur.

## 🕹️ Kontroller

`Address`\
Modbus cihazında okumaya başlanacak başlangıç adresini (tam sayı) girin.

`Quantity`\
Kaç ardışık öğe (register veya coil) okunacağını girin.

`Data Type`\
Okunacak Modbus veri tipini seçin: `Coil`, `Discrete Input`, `Input Register` veya `Holding Register`.

## 🎯 Özellikler

* Bit tabanlı (`coils`/`discrete inputs`) ve kelime tabanlı (`input`/`holding registers`) veri tiplerini okumayı destekler.
* İletişimi bloğun ayarlarından ayrı tutmak için `Modbus Client` girişine verilen dış Modbus client bağlantısını kullanır.
* Basit sayısal ve boolean sonuçlar, kaydetme, grafikleme veya sonraki işlemler için uygun bir liste olarak döndürülür.
* Dahili hata raporlaması iletişim hatalarını görünür kılar; böylece yeniden bağlanma, tekrar deneme veya uyarı gibi aksiyonlar alınabilir.

## ⚙️ Çalışma Mekanizması

Blok etkin olduğunda `Enable` girişini kontrol eder ve `Modbus Client` girişinde geçerli bir client gerektirir. Seçilen `Data Type` kullanılarak yapılandırılmış adres aralığını okur ve değerleri `Data` çıktısına gönderir. Okuma başarısız olursa veya blok devre dışıysa, veri döndürmez ve yardımcı bir hata mesajı kaydeder.

## 💡 İpuçları ve Püf Noktaları

* Gerekli `Modbus Client` bağlantısını oluşturmak ve sağlamak için `Modbus Connect` bloğunu kullanın.
* Okumaların ne zaman yapılacağını kontrol etmek için `Logic Input` veya `Rising Edge` kullanın (manuel tetik veya tek seferlik okumalar).
* Cihaza veri yazmak için `Modbus Write` bloğu ile kombinleyin.
* Geçmiş inceleme için okumaları `CSV Export` ile kaydedin veya `Data Write Local` / `Data Write Global` ile saklayın.
* Sayısal çıktıları gerçek zamanlı görselleştirmek için sonuçları `Scope` bloğuna besleyin.
* Kurulum ve sorun giderme sırasında dönen `Data`yı incelemek ve doğrulamak için `Debug Input` kullanın.

## 🛠️ Sorun Giderme

* Veri dönmüyor: `Modbus Client` girişine geçerli bir client bağlandığından ve `Enable` True olduğundan emin olun.
* Yanlış değerler veya kısmi okumalar: `Address` ve `Quantity` değerlerinin cihazın adres haritası ve limitleri içinde olduğundan emin olun.
* İletişim hataları: Ağ/seri ayarlarını `Modbus Connect` bloğu üzerinden doğrulayın ve başka bir uygulamanın erişimi engellemediğinden emin olun.
* Beklenmeyen veri formatı: Beklediğiniz değerler için doğru `Data Type` (coil vs register) seçildiğini kontrol edin.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.augelab.com/turkish/fonksiyon-bloklari/input-output/communication/modbus-read.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
