Bu eğitim, RevPi Connect 4'ün bir Modbus TCP Slave olarak nasıl yapılandırılacağını ve RevPi DIO'nun dijital çıkışı aracılığıyla bir LED'in nasıl kontrol edileceğini açıklamaktadır. Modbus TCP Master, QModMaster kullanılarak simüle edilmiş ve Modbus verilerini dijital çıkışlara aktarmak için RevPiModIO kütüphanesinden yararlanan bir Python betiği geliştirilmiştir.

Ön koşullar #

Donanım

✓ RevPi temel modülü (örn. RevPi Connect 4)
✓ Ana 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

Sistemin 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 cihaza 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.

Webstatus login

▷ Yapılandırmanıza Temel Modülü ekleyin ve sanal Modbus TCP Slave'i ekleyin, bakınız 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.

❯ TModbus 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.

PiCtory config

Value Editor'de 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)

  • Input_1ModbusInput1

  • Output_1ModbusOutput1

PiCtory config
PiCtory Value editor modbus

Save the configuration and restart the driver to apply the changes.

Adım 3: Donanımı Hazırlama #

▷ RevPi Connect 4'ü PiBridge aracılığıyla RevPi DIO'ya bağlayın.

▷ RevPi DIO'nun dijital çıkışlarından birine (örneğin RevPi DIO Çıkışı 1 veya O_1) bir LED takın.

Adım 4: QModMaster'ı kurma #

QModMaster'ı yükleme

QModMaster'ı resmi web sitesinden indirin ve bilgisayarınıza kurun.

Bağlantı Kurma

▷ QModMaster'ı başlatın.

Options  Modbus TCP 'ye gidin ve aşağıdaki bilgileri girin:

  • IP Address: RevPi Connect 4'ün IP adresi

  • Port: 502 (Modbus TCP için varsayılan)

▷ Ayarları onaylayın ve bağlantıyı kurun.

Modbus Verilerinin Gönderilmesi

▷ QModMaster'da Write Single Register (0x06) işlevini seçin.

▷ İlk Modbus kaydının adresini girin (örneğin, address 0).

▷ İlk üç dijital çıkışı (RevPi DIO) YÜKSEK olarak ayarlamak için 7 değerini (0b0000111'e eşdeğer) yazın.

RevPi commander starten

Adım 4: RevPiModIO Kullanarak Bir Python Betiği Oluşturma ve Yükleme #

Python Betiğinin Oluşturulması

▷ Modbus verilerini işlemek ve LED'i kontrol etmek için aşağıdaki Python betiğini yazın:

import revpimodio2
import time

# Initialize the RevPiModIO object
rpi = revpimodio2.RevPiModIO(autorefresh=True)

while True:
    # Set ModbusOutput1 value to the value of I_1
    rpi.io.ModbusOutput_1.value = int(rpi.io.I_1.value)
    # Set O_1 value to the value of ModbusInput1
    rpi.io.O_1.value = int(rpi.io.ModbusInput_1.value)

    # Print current values for verification
    print(f"ModbusOutput_1: {rpi.io.ModbusOutput_1.value}, O_1: {rpi.io.O_1.value}")

    time.sleep(0.02)
Komut Dosyasının RevPi'ye Aktarılması

Komut dosyasını yüklemenin iki yolu vardır:

Seçenek 1

RevPiCommander kullanın.

Seçenek 2

Terminal üzerinden manuel olarak:

▷ RevPi'de bir terminal açın veya SSH üzerinden bağlanın.

▷ Aşağıdaki komutu kullanarak betiği oluşturun:

sudo nano Revpi_DIO_Modbus.py

▷ Komut dosyasını yapıştırın ve dosyayı kaydedin.

▷ Komut dosyasını şu şekilde çalıştırın:

python3 Revpi_DIO_Modbus.py

Özet #

Bu eğitimde, RevPi Connect 4'ü bir Modbus TCP Slave olarak nasıl yapılandıracağınızı, RevPi DIO kullanarak bir LED'i nasıl kontrol edeceğinizi ve QModMaster aracılığıyla nasıl veri göndereceğinizi öğrendiniz. Python betiği, Modbus verilerini RevPi DIO çıkışlarına aktarmak için RevPiModIO kütüphanesini kullanır.

Şimdi Modbus register'ına 7 değeri gönderildiğinde ilk üç dijital çıkışın aktif olması ve LED'in yanması gerekiyor.