> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/turkish/fonksiyon-bloklari/blocks-reference/input-output/communication/modbus-write.md).

# Modbus Write

Bu fonksiyon bloğu, verilen bir Modbus istemcisi kullanarak Modbus sunucusuna değerler gönderir. Senaryo grafiğinizden coil'leri veya holding register'ları yazmak için kullanın.

## 📥 Girdiler

`Enable`\
Yazma işleminin gerçekleştirip gerçekleştirilmeyeceğini kontrol eden boolean giriş. Sağlanmazsa veya False ise blok yazma girişiminde bulunmaz.

`Modbus Client`\
`Modbus Connect` bloğu tarafından üretilen bir client objesi bekler. İletişimi etkinleştirmek için geçerli bir client sağlayın.

`Data`\
Yazılacak genel veri. Tek bir değer veya bir liste (birden fazla coil/register yazımı için) kabul eder.

## 📤 Çıktılar

Bu fonksiyon bloğu herhangi bir çıktı üretmez.

## 🕹️ Kontroller

`Address`\
Yazılacak Modbus register/coil adresini girin. Cihazınızın adres haritasıyla uyumlu tamsayı değerleri kullanın.

`Data Type`\
Hangi Modbus kaynak türüne yazılacağını seçmek için `Coil` veya `Holding Register` arasında seçim yapın.

## 🎯 Özellikler

* Cihaz destekliyorsa tek değer veya bir liste halinde birden fazla adrese yazma desteği sağlar.
* Hedef kaynak türünü basit bir açılır menü ile seçmenize olanak verir: `Coil` veya `Holding Register`.
* Yazmanın mantık veya kullanıcı girişleriyle kontrol edilmesini sağlayan `Enable` girişine saygı gösterir.
* Yazma başarısız olursa hataları log'a raporlar; böylece bağlantı veya konfigürasyon sorunlarını teşhis edebilirsiniz.

## ⚙️ Çalışma mekanizması

Blok çalıştığında:

* `Enable` girişi False veya eksikse herhangi bir yazma girişiminde bulunulmaz.
* `Modbus Client` girişinde geçerli bir client sağlanmamışsa blok yazma yapmaz.
* Geçerli bir client ile etkinleştirildiğinde, blok sağlanan `Data`yı `Address` alanına ve seçilen `Data Type` kullanarak gönderir.
* Bağlantı sorunları, geçersiz adres veya desteklenmeyen veri gibi hatalar log'a raporlanır, böylece gerekli aksiyonları alabilirsiniz.

## 📝 Kullanım talimatları

* Bir `Modbus Connect` bloğu ekleyin ve onun `Modbus Client` çıktısını bu bloğun `Modbus Client` girişine bağlayın.
* Yazmak istediğiniz register veya coil adresini `Address` olarak ayarlayın.
* Boolean/coil için `Data Type` olarak `Coil`, sayısal registerlar için `Holding Register` seçin.
* Verilerinizi `Data` girişine besleyin (tek değer veya liste).
* Yazmanın gerçekleşmesini istediğinizde `Enable`'ı değiştirmek için bir `Logic Input` veya başka bir kontrol kullanın.

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

* Güvenilir bir client üretmek için `Modbus Connect` kullanın ve yazmaya çalışmadan önce bağlantıyı doğrulamak için `Modbus Read` ile kontrol edin.
* Yazmaların yalnızca istenen koşullarda gerçekleşmesi için `Enable` girişini bir `Logic Input` veya koşullu bir blokla (ör. `Equals` / `Greater`) sürün.
* Yazılacak değerleri hazırlamak için `Number Input` kullanın veya değerleri düzenlemek gerektiğinde `String Merge` ya da `Data Write Global` / `Data Write Local` gibi bloklarla birleştirin.
* Yazdığınız değerleri kaydetmeniz veya dışa aktarmanız gerekirse, bu bloğu `CSV Export` veya `REST API - Post` ile birleştirerek harici loglar oluşturun veya bildirim gönderin.

## 🛠️ Sorun Giderme

* Yazma gerçekleşmiyor: `Enable` girişinin True olduğundan ve geçerli bir `Modbus Client` bağlandığından emin olun.
* Geçersiz adres hataları: `Address`'in cihaz adres haritası içinde bir tamsayı olduğundan ve seçilen `Data Type` ile eşleştiğinden emin olun.
* Beklenmeyen veri formatı: `Coil` için boolean veya boolean listesi; `Holding Register` için sayı veya sayı listesi kullanın.
* Yazma hataları: Bağlantıyı doğrulamak için `Modbus Read` ile kontrol edin ve sunucunun hedef adrese yazmaya izin verip vermediğini teyit edin. Detaylar için log mesajlarını inceleyin.
