Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Teknologi Industri

Menghubungkan PLC berikutnya PLC ke RS232/RS485 jarak jauh melalui TTY semu

Dalam artikel Blog Pembuat ini, kami membahas kemungkinan dan keuntungan yang disediakan Server Com untuk platform PLCnext.

Pengantar

Modul ekstensi yang ditawarkan Phoenix Contact untuk PLC-nya, misalnya, dapat berupa adaptor serial seperti:

Semua modul ekstensi memiliki kesamaan:mereka dapat diakses secara siklis melalui processdata. Ini memberikan kemungkinan untuk berinteraksi langsung dengan perangkat serial dari aplikasi waktu nyata kami.

Dalam beberapa kasus, ini bukan yang kita inginkan. Sebagai gantinya, kami ingin menggunakan kembali pustaka (C/C++) yang ada dan tidak memerlukan konteks waktu nyata. Namun, kita akan menemukan bahwa perpustakaan ini biasanya diprogram untuk memiliki akses langsung ke antarmuka COM atau TTY.

Ada dua opsi untuk membuat antarmuka TTY untuk PLCnext Control :

  1. Menerapkan beberapa fungsi (C++ / C#) yang membuat antarmuka TTY untuk adaptor serial AXL atau IL dari dalam PLCnext Runtime .
  2. Penggunaan perangkat COM-Server seperti Server Perangkat GW

GW Device Server memberikan TCP to Serial transparent transparan antarmuka. Dengan bantuan alat seperti Socat kita dapat meneruskan lalu lintas Serial/TCP langsung ke antarmuka TTY semu. Menggunakan GW Device Server juga menyediakan kemungkinan untuk berkomunikasi dengan perangkat serial di lokasi terpencil melalui saluran terenkripsi TLS.

CATATAN

Dalam tutorial ini, PLC berfungsi sebagai klien dan membuat koneksi ke GW Device Server .

(Namun, juga dimungkinkan untuk mengganti Socat PLC ke opsi mendengarkan dan membuat GW sebagai klien terhubung secara aktif ke PLC.)

Penyiapan

Menyiapkan Server Perangkat GW

Kami terhubung ke GW Device Server melalui Manajemen Berbasis Web. Alamat IP default dari GW Device Server adalah 192.168.254.254.

Kami menggunakan pengaturan berikut:

Setelan LAN – Keamanan
Setelan Serial

Menguji Server Perangkat GW

Untuk menguji apakah kita telah menyiapkan GW Device Server benar, pertama kita hubungkan PLC kita ke GW Device Server melalui Ethernet. Kemudian kami menghubungkan dua adaptor DSUB dari GW Device Server satu sama lain.

Kami dapat dengan cepat menguji penyiapan menggunakan alat Telnet . Dengan alat ini, kita dapat mengirim data dari PLC ke GW Device Server di Port8000/COM1 melalui kabel serial ke Port8001/COM2 dan akhirnya menerimanya kembali di PLC.

Kami menggunakan perintah berikut:

ssh [email protected]
sudo passwd root
su root
ip addr add 192.168.254.10 dev eth0
telnet 192.168.254.254 8000
## open another shell session
telnet 192.168.254.254 8001
# Type some messages

Membangun Socat

Untuk membangun Socat dengan mudah di OS Linux, kami menggunakan perintah berikut:

mkdir tmp
cd tmp
git clone git://repo.or.cz/socat.git
cd socat

## TODO: Modify to your SDK location
source /opt/pxc/release/axcf2152/2020/0/environment-setup-cortexa9t2hf-neon-pxc-linux-gnueabi
. /opt/pxc/release/axcf2152/2020/0/site-config-cortexa9t2hf-neon-pxc-linux-gnueabi

mkdir install
autoconf
./configure $CONFIGURE_FLAGS --prefix=$(pwd)/install --enable-openssl-method
make -j2
make install

Menyebarkan dan menginstal Socat

Untuk menerapkan Socat instalasi, kita jalankan script berikut:

cd tmp
mkdir -p deploy
cd deploy
mkdir -p usr
cp -r ../../Daemon/* .
cp -r ../socat/install/* usr/

# Create package
tar -cf ../socat-binaries.tar .
cd ..
scp socat-binaries.tar [email protected]:~/
ssh -ttt [email protected] \
"mkdir -p /opt/plcnext/socat-binaries && \
tar -xf /opt/plcnext/socat-binaries.tar -C /opt/plcnext/socat-binaries"

Setelah di-deploy, sekarang kita bisa ssh ke PLC kita. Oleh karena itu, pertama-tama kita siapkan PLC dengan mengatur direktori dan file konfigurasi dengan menjalankan perintah berikut:

deploy$ ssh [email protected]

[email protected]:~$ su root
[email protected]$ mkdir -p /etc/default/socat
[email protected]$ touch /etc/default/socat/socat.conf
[email protected]$ touch /etc/init.d/SocatDaemon

Sekarang, kita memodifikasi socat.conf file untuk mengonfigurasi parameter antarmuka serial sesuai kebutuhan kita.

nano /etc/default/socat/socat.conf

Isi file terlihat seperti ini.

TARGETIP="192.168.254.254"
TARGETPORT="8000"
TTYNAME="/dev/ttyGWDeviceServer"
OPTIONS="pty,link=$TTYNAME tcp-connect:$TARGETIP:$TARGETPORT,forever,interval=15"

BAUD="9600"
PARITY=""
DATABITS="csN 8"
STOPBITS="-cstopb"
FLOWCONTROLL=""

Jika kita perlu memodifikasi parameter lebih lanjut, kita juga perlu memodifikasi SocatDaemon mengajukan. Informasi lebih lanjut tentang parameter TTY dapat ditemukan di halaman manual stty.

Sekarang kita membuat SocatDaemon file untuk terhubung secara otomatis ke GW Device Server menggunakan Socat daemon.

CATATAN:

File SocatDaemon ini adalah contoh tanpa manajemen error/disconnection dll.

nano /etc/init.d/SocatDaemon

File memiliki konten berikut. (klik untuk melihat/menyembunyikan kode)

Sekarang semua file konfigurasi sudah ada, kita dapat melanjutkan dengan mengatur Socat binari dan mendaftarkan Socat daemon.

chmod +x /etc/init.d/SocatDaemon
cd /opt/plcnext/socat-binaries
chmod +x usr/bin/*

cp -r usr /

update-rc.d -s -v SocatDaemon 99
/etc/init.d/SocatDaemon start

Jika semuanya sudah diatur dengan benar, kita dapat melihat daemon yang sedang berjalan menggunakan perintah seperti ps -e | grep socat . Kami juga dapat memeriksa Socat log terletak di cat /var/log/socat.log .

Mengakses antarmuka TTY dari terminal

Sekarang kami dapat mengirim pesan melalui antarmuka TTY.

sudo echo "PLC to GW $var" > /dev/GWDeviceServer

Untuk terus menguji pseudo TTY, kita dapat menggunakan perintah seperti

while true; do sleep 5 && sudo echo "PLC to GW $var" >/dev/ttyUSB0 && var=$((var+1)); done

Lalu lintas masuk dapat ditampilkan dengan menjalankan cat /dev/GWDeviceServer . Sekarang aplikasi apa pun dapat mengakses perangkat Serial yang terhubung ke Server Perangkat GW seolah-olah terhubung langsung ke PLC.


Teknologi Industri

  1. PLC untuk Drive di Industri
  2. Apa Itu PCB Via Tenting?
  3. Pemantauan awan, sistem kendali jarak jauh
  4. 5 keuntungan dari kendali produksi jarak jauh
  5. GRPC jarak jauh menggunakan grpcurl
  6. Mengelola perangkat Kontrol PLCnext melalui SNMP
  7. Clustermanagement di PLCnext?
  8. Dasbor Tableau PLCnext
  9. Laporan Power BI PLCnext
  10. Dasbor Grafana PLCnext