Bu eğitim, bir RevPi temel modülünün bir Modbus TCP Master Modülü ile iletişim kurmak üzere bir Modbus TCP Slave Modülü olarak nasıl yapılandırılacağını açıklamaktadır. RevPi'yi kurmak ve Modbus protokolünü kullanarak veri sorgulamak için adım adım talimatlar içermektedir. Bu eğitim, endüstriyel otomasyon profesyonelleri, IoT geliştiricileri ve ağ ortamında bir RevPi modülünü bir Modbus TCP Slave Modülü olarak kullanmak isteyen herkes içindir. RevPi'yi bir Modbus TCP Slave Modülü olarak yapılandırmak, harici Modbus TCP Master Modüllerinin RevPi'nin veri kayıtlarına erişip bunları kontrol etmesine olanak tanır.
Ön koşullar #
Donanım
✓ RevPi temel modülü (örneğin RevPi Connect 4)
✓ Master cihaz veya yazılım, örneğin Windows PC'de çalışan QModmaster
✓ RJ45 konnektörlü eşleşen kablolar
✓ RevPi Connect için güç kaynağı
Yazılım
✓ Modern web tarayıcısı (örneğin Google Chrome veya Mozilla Firefox). ✓ QModmaster: Bu örnekte kullanılmak üzere SourceForge adresinden indirilebilir.
Sistem Kurulumu
Şunları sağlayın:
✓ RevPi taban modülü ve ana cihaz aynı ağda yer almaktadır.
✓ IP adresleri düzgün bir şekilde yapılandırılmıştır ve cihazlar birbirleriyle iletişim kurabilir.
Adım 1: Donanımı Kurma #
▷ RevPi Connect'i RJ45 kablosunu kullanarak ana master bağlayın.
▷ RevPi Connect'i uygun bir güç kaynağına bağlayarak çalıştırın.
Adım 2: PiCtory'de Modbus TCP Slave'i Yapılandırma #
▷ PiCtory'yi başlatın.
▷ Temel modülü ve sanal Modbus TCP Slave'i yapılandırmanıza ekleyin, bkz. Aygıtları Düzenle.
▷ Device Catalog'dan temel modülü sanal DIN rayına sürükleyin.
▷ Device Catalog'da Virtual Devices klasörünü açın.
▷ Modbus TCP Slave'i sanal DIN rayındaki temel modüle sürükleyin.
❯ Modbus TCP Slave artık yapılandırmada görünecektir.
▷ Modbus TCP Slave'i yapılandırmak için Girişleri ve Çıkışları Yapılandırma bölümüne bakın.
▷ Yapılandırmada Modbus TCP Slave'i seçin.
▷ Value Editor'nde aşağıdaki parametreleri ayarlayın:
-
TCP Port:
502(Modbus spesifikasyonuna göre varsayılan değer). -
Max. Modbus TCP Connections:
10(veya diğer uygun değer).
▷ Yapılandırmayı kaydedin and restart the driver to apply the changes.
Adım 3: CPU Sıcaklığını Sorgulama #
RevPi Connect'in CPU sıcaklığı terminalde aşağıdaki komut kullanılarak sorgulanabilir:
/usr/bin/vcgencmd measure_temp
Çıktıda sıcaklık görüntülenecektir, örneğin:
temp = 48.7°C
▷ Verileri Modbus işlemine hazırlamak için, sıcaklığı şu komutu kullanarak x10 °C formatına dönüştürün:
/usr/bin/vcgencmd measure_temp | awk ' { print substr($0,6,2) substr($0,9,1) } '
487
❯ Bu, sıcaklığı uygun bir biçimde, örneğin 48,7 °C için 487 biçiminde çıktı verir.
Modbus Kaydına Veri Yazma
Dönüştürülen sıcaklık verilerini bir Modbus kaydına yazmak için aşağıdaki komutu kullanın:
piTest –w Output_1,$(/usr/bin/vcgencmd measure_temp | awk ' { print substr($0,6,2) substr($0,9,1) } ')
Sürekli güncellemeler için işlemi bir döngüde çalıştırın:
while true; do piTest -w Output_1,$(/usr/bin/vcgencmd measure_temp | awk ' { print substr($0,6,2) substr($0,9,1) } '); sleep 1; done &
Çıktı:
Write value 492 dez (=01ec hex) to offset 11.
Write value 498 dez (=01f2 hex) to offset 11.
Write value 492 dez (=01ec hex) to offset 11.
Adım 4: QModMaster Kullanarak Verileri Sorgulama #
▷ QModmaster'ı Windows bilgisayarınıza indirin ve kurun.
▷ Aşağıdaki parametreleri ayarlayın:
-
Modbus Mode: TCP
-
Unit ID:
1 -
Scan Rate (ms):
1000 -
Function Code: Read Input Registers (0x04)
-
Start Address:
0 -
Number of Registers:
1 -
Format: Decimal
QModMaster'ı yapılandırma
▷ seçin.
▷ Slave IP alanına RevPi Connect'in IP adresini girin.
▷ TCP portunu 502 olarak ayarlayın (ModbusTCP bağlantıları için varsayılan).
Modbus'a bağlanma
▷ Modbus Slave ile bağlantı kurmak için öğesini seçin.
Veri Sorgulama
▷ Verileri almak için seçin.
▷ CPU sıcaklığı ondalık biçimde gösterilecektir, örneğin 48,7°C için 487.
Modbus Fonksiyonları #
Modbus slave modülü aşağıdaki Modbus fonksiyonlarını destekler:
| Fonksiyon | Tanım |
|---|---|
Read Holding Registers (0x03) |
Giriş verilerini oku. |
Read Input Registers (0x04) |
Çıkış verilerini oku. |
Write Single Register (0x06) |
Tek bir giriş kaydına yaz. |
Write Multiple Registers (0x10) |
Birden fazla giriş kaydına yaz. |