# Siemens S7 Read

Bu fonksiyon bloğu, bir Siemens S7 PLC veri bloğundan (DB) değerleri okumak için kullanılır. Sayısal değerler, boolean'lar, metinler veya diğer PLC veri tiplerini alıp senaryonuza taşıyarak izleme, kayıt veya karar mantığı için kullanabilirsiniz.

## 📥 Girdiler

`Enable` (Boolean) — FALSE olduğunda blok okuma yapmaz ve çıktı üretmez. Okumaların ne zaman gerçekleşeceğini kontrol etmek için kullanın.\
`S7 Client` (Generic) — PLC bağlantı nesnesi; bağlantı bloğu tarafından sağlanır. PLC bağlantısı bloğu ile oluşturulan client'ı buraya bağlayın.

## 📤 Çıktılar

`Data` (Generic) — PLC'den okunan değer. Veri tipi, kontrollerde seçilen `DB Data Type` ayarına göre değişir (sayı, boolean listesi, metin vb.).

## 🕹️ Kontroller

`DB Number` — PLC üzerinde okunacak DB (Database) numarası.\
`DB Byte Address` — Seçili DB içindeki başlangıç byte ofseti.\
`DB Data Type` — Beklenen PLC veri tipini seçmek için açılır menü (örnekler: `Boolean`, `Int`, `Real`, `String`).\
`Connection Type` — `Sync` veya `Async` seçin. `Sync`, aynı PLC byte'larını kullanan birden fazla blok olduğunda paylaşılan bağlantı modu sağlar; `Async` bloğa bağımsız bir bağlantı davranışı verir.

## ⚙️ Nasıl çalışır

* Blok etkin olduğunda, bağlı `S7 Client` üzerinden belirtilen `DB Number` ve `DB Byte Address`'ten byte'ları okur.
* Okunan ham PLC byte'ları, seçilen `DB Data Type`'a göre yorumlanır ve `Data` çıktısı aracılığıyla kullanılabilir bir değere dönüştürülür. Örneğin `Boolean` seçildiyse bit durumlarını liste halinde dönebilir; `String` seçildiyse çözümlenmiş metni döner.
* `Enable` girişi, ayarları kaldırmadan okumaları durdurmanıza olanak tanır.
* `Connection Type` paylaşım davranışını etkiler: birden fazla blok aynı baytları paylaşacaksa `Sync`, bağımsız erişim veya kendi yeniden denemeleri gerekiyorsa `Async` tercih edin.

## ✨ Özellikler

* DB numarası, byte adresi ve beklenen PLC veri tipi için basit bir arayüz.
* Boolean, işaretli/işaretsiz tam sayılar, real, string, zaman tipleri, word/dword vb. birçok PLC veri tipini destekler.
* Dağıtıma uygun bağlantı modu yapılandırması (paylaşılan vs bağımsız).
* Okuma hatası veya parametrelerin aralık dışı olması durumunda UI içinde hata bildirimi.

## 📝 Kullanım Talimatları

1. Geçerli bir PLC bağlantısını `S7 Client` girişine sağlayın (bir PLC connection bloğundan).
2. Bloğu etkinleştirmek için `Enable` girişine TRUE verin veya bloğu açık bırakın.
3. Hedef `DB Number` ve `DB Byte Address` ayarlarını yapın.
4. Okumak istediğiniz değerin uygun `DB Data Type` seçimini yapın.
5. Okunan değerler `Data` çıkışında görünür; bu çıkışı downstream bloklara bağlayarak tüketin veya kaydedin.

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

* Okumaları tetikle: `Logic Input` veya tek seferlik tetikleyiciler (`Rising Edge`) ile kombinleyerek sadece ihtiyaç olduğunda okuyun — bu, bus yükünü azaltır.
* Değerleri kaydedin: `Data` çıkışını `CSV Export` veya `SQL-DB Operations` bloklarına göndererek geçmiş logları oluşturun.
* Değerleri yayınlayın: `Data`yı `MQTT Publish` ile buluta veya bir broker'a akıtın.
* Trendleri görselleştirin: Sayısal çıktıları canlı izlemek için `Scope` bloğuna bağlayın.
* Son değerleri saklayın: Son okunan değeri tutmak için `Data Memory` kullanın ve güncellemeleri istediğiniz zaman yayınlayın.
* Eksik değerleri ele alın: Bir okuma başarısız olursa güvenli bir yedek davranışı oluşturmak için `Is None` ve `Replace None` bloklarını kullanın.
* JSON oluşturun: Yayınlamadan veya kaydetmeden önce değerleri `Data to JSON` blokuna gönderin.
* `Connection Type` ayarını amacınıza göre seçin: Birden fazla bloğun aynı baytları okuması gerekiyorsa `Sync`, izole erişim veya bağımsız yeniden deneme gerekiyorsa `Async` kullanın.

(hint) Operatörler için güncel değerleri gösteren bir UI bloğu gerekiyorsa, `Show Image` (görüntü benzeri veriler için), `Led Output` veya basit metin widget'ları ile kombinleyin.

## 🛠️ Sorun Giderme

* Çıktı görünmüyor: `Enable` girişinin TRUE olduğundan ve geçerli bir `S7 Client` bağlı olduğundan emin olun.
* Bağlantı hataları veya zaman aşımı: PLC ağ ayarlarını kontrol edin, `S7 Client` sağlayan bağlantı bloğunu doğrulayın ve `Connection Type` modunu değiştirmeyi deneyin.
* Beklenmeyen veri formatı: `DB Number`, `DB Byte Address` ve `DB Data Type` ayarlarının PLC programıyla uyumlu olduğundan emin olun. String'ler için DB düzeninin aynı uzunluk/kodlamayı kullandığını kontrol edin.
* Yüksek bus trafiği: Okuma sıklığını azaltın, tetiklenen okumalar (`Rising Edge`) kullanın veya uygun olduğunda `Sync` moduyla bağlantıyı paylaşın.


---

# 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/siemens-s7-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.
