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.
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/ttyUSB0 → COM port 1
/dev/ttyUSB1 → COM port 2
** /dev/ttyUSBn → COM port n
Ekstra bir USB-485 dönüştürücü bağlanırsa, doğru COM portunun tanımlanması gerekir.
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 #
▷ RTU slave'ini şu şekilde ayarlayın:
-
Channel 1: Read Holding Registers
-
Channel 2: Write Multiple Registers
▷ İlk 10 tutma kaydı için default values 12 olduğundan emin olun.
▷ Bu kanalları uygulama düzeyinde erişim için POU_Modbus mantığında eşleyin.
Adım 3: Modbus TCP Slave'i Yapılandırma #
▷ CODESYS yapılandırmasında Modbus TCP Slave Adresini belirtin.
▷ 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
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ı |
|
Not
|
Debugging |
|
Not
|
Simülasyon |
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.