Bu eğitim, CODESYS Control for Linux ARM veya ARM64 ile bir RevPi Connect+ üzerinde Modbus TCP ve Modbus RTU ana cihazlarının nasıl yapılandırılacağını göstermektedir. Uygulama, bağlı Modbus kölelerinin tutma kayıtlarını (0 … 9) okur ve değerlerini tutma kayıtlarına (10 … 19) geri yazar.

Ön koşullar #

Donanım #

✓ RevPi Connect+
✓ Bir Modbus TCP slave
✓ Bir Modbus RTU slave

Sisteminizi nasıl kuracağınıza dair ayrıntılı talimatlar için Başlarken bölümüne bakın.

Yazılım #

✓ PC'nizde yüklü CODESYS Geliştirme Sistemi

Uygun yazılımla uyumlu bir sistem sağlamak için Yazılım Uyumluluğu'na bakın.

Genel Bakış #

CODESYS'deki aygıt ağacı şu şekilde yapılandırılmıştır:

  • Modbus TCP Master: TCP slave cihazına okuma ve yazma işlemi yapar.

  • Modbus RTU Master: Seri RTU slave cihazıyla haberleşir.

  • POU_Modbus: Verilerin okunması ve yazılması için uygulama mantığını yönetir.

Project Setting
RevPi Core veya RevPi Compact için uyarlama

Projeyi RevPi Core veya RevPi Compact'a uyarlamak için:

▷ CODESYS cihaz ağacında RevPi Connect'in context menüsünü açın.

▷ Cihazı güncelle'yi seçin.

▷ Değiştirmek için RevPi Core veya RevPi Compact'ı seçin ve cihazın adını buna göre değiştirin.

Adım 1: Modbus RTU Seri Portunu Yapılandırma #

RevPi Connect veya RevPi Core için

▷ Yapılandırma dosyasını düzenleyin:

sudo nano /etc/CODESYSControl_User

▷ Aşağıdaki satırı ekleyin:

[SysCom]
Linux.Devicefile=/dev/ttyUSB

▷ CODESYS'deki COM portlarını aşağıdaki gibi eşleştirin: /dev/ttyUSB0COM port 1 /dev/ttyUSB1COM port 2 ** /dev/ttyUSBnCOM port n

Ekstra bir USB-485 dönüştürücü bağlanırsa, doğru COM portunun tanımlanması gerekir.

Project Setting
RevPi Compact İçin

▷ Varsayılan RS485 Portu /etc/CODESYSControl_User için düzenleme yapın ve şunu ekleyin:

   [SysCom]
   Linux.Devicefile=/dev/ttyAMA

▷ USB-485 dönüştürücüyü kullanmak için bunun yerine aşağıdaki satırı ekleyin:

   [SysCom]
   Linux.Devicefile=/dev/ttyUSB

Adım 2: Modbus RTU Slave'i Yapılandırma #

Project Setting

▷ RTU slave'ini şu şekilde ayarlayın:

  • Channel 1: Read Holding Registers

  • Channel 2: Write Multiple Registers

Project Setting

▷ İlk 10 tutma kaydı için default values 12 olduğundan emin olun.

Project Setting

▷ Bu kanalları uygulama düzeyinde erişim için POU_Modbus mantığında eşleyin.

Project Setting

Adım 3: Modbus TCP Slave'i Yapılandırma #

▷ CODESYS yapılandırmasında Modbus TCP Slave Adresini belirtin.

Project Setting

0 … 9 ve 10 … 19 kayıtlarını tutmak için Modbus RTU ile aynı eşleme mantığını kullanın.

Adım 4: Modbus Slave'lerinin Simülasyonu #

Modbus TCP ve RTU slave'lerini simüle etmek için ModRSsim2'yi kullanın:

▷ Uygulamayı şu adresten indirin:ModRSsim2 on SourceForge.

▷ Modbus TCP/RTU slave tutma kayıtlarına sahip olacak şekilde yapılandırın: 40001 … 40010 kaynak veriler için 40010 … 40020 hedef veriler için

Project Setting
Project Setting

Adım 5: Dağıtım ve Test #

▷ Derlenen projeyi RevPi cihazına indirin.

▷ Uygulamayı RevPi temel modülünüzde çalıştırın.

▷ Şunları doğrulayın:

  • Veriler tutma kayıtlarından 0 … 9 doğru şekilde okunuyor.

  • Veriler tutma kayıtlarına geri yazılır 10 … 19.

Not

Varsayılan RTU Slave Yapılandırması
Slave'lerin benzersiz kimliklere ve tutarlı iletişim ayarlarına sahip olduğundan emin olun.

Not

Debugging
Master ve slave'ler arasındaki gerçek zamanlı veri alışverişini doğrulamak için CODESYS izleme araçlarını kullanın.

Not

Simülasyon
Fiziksel cihazları bağlamadan önce test için ModRSsim2'yi kullanın.

Bu kurulum, Modbus TCP ve RTU ana cihazlarının aynı anda çalışmasına olanak tanıyarak Modbus özellikli cihazlarla sağlam veri alışverişine olanak tanır.