Sambungan S7 yang digunakan untuk bertukar informasi antara perangkat seri S7-300, 400, 1200, 1500 dapat dikonfigurasi. Artinya, Anda harus secara eksplisit memberi tahu perangkat yang berkomunikasi dengan siapa. Secara umum, hubungan ini dua arah (dua arah atau bilateral), mis. menambahkan koneksi yang dapat dikonfigurasi terjadi untuk kedua PLC, yang mengakibatkan kebutuhan untuk mengunduh kedua PLC. Ini tidak menyebabkan masalah tertentu jika kedua PLC berada di departemen sistem kontrol proses perusahaan, dan untuk kedua PLC tersebut terdapat perangkat lunak aplikasi aktual. Tetapi ada juga kasus-kasus khusus - perlu untuk membuat pertukaran antara S7-300 "lama" dan S7-1500 "baru", terlebih lagi, kode sumber dari program lama telah hilang. Nah, atau operasinya hanya takut menyentuh PLC. Atau hanya tidak ada operasi, tugas mengatur pertukaran "hang" pada integrator dari sistem "baru",yang mengarah ke kondisi sebelumnya - tidak ada yang benar-benar ingin menyentuh perangkat lunak dari sistem yang tidak dikenal.
Dalam kasus seperti itu, kemampuan yang ada untuk mengkonfigurasi koneksi secara sepihak, membuatnya aktif (yaitu, PLC "kami" akan memulai koneksi), menambahkan blok program komunikasi PUG / GET (metode ini tidak bekerja dengan blok lain, semua blok lainnya adalah dua arah ) dan unduh hanya satu PLC. Kami akan berasumsi bahwa kami telah menyimpan informasi pada konten blok data - baik dari dokumentasi untuk sistem, atau dari deskripsi tag sistem SCADA.
Secara singkat tentang koneksi satu dan dua arah ditulis dalam basis pengetahuan di tautan .
Herr Berger menulis banyak hal menarik tentang topik ini:
Hans Berger "Automating with SIMATIC S7-1500", hlm. 761
: S7- CPU, «» (active side), PUT/GET « », connection resource 03. , 03 , S7-.
«» ET200S CPU, S7-300 din-. ip- , .
ip-: 192.168.43.4
: DB1.DBD0, DB1.DBD4, DB1.DBD8
«» S7-1516, .
, . DB13. , PUT/GET «» .
Devices & networks.
Connections S7 connection
CPU Add new connection
S7-1516 , , . X1. Local ID (0x100) — , GET.
Add, Connections
ip-
Address details rack/slot , Connection resource 03. Rack — «», slot — «», «» CPU Simatic. ( «» ) 0/2.
OB1 GET .
GET , Properties ( ), . .
Req — , .
ID — , 0x100
ADDR_1 — , ANY
RD_1 — , , ANY. , .
DB1.DBD0.
ADDR_1. — ANY, Simatic. P#DB1.DBX0.0 BYTE 4
DB1 — 1
DBX0.0 — 0 ( 0 )
BYTE 4 — 4
P#DB1.DBX0.0 BYTE 4 DB1.DBD0. , , TIA Portal .
R0 "xEchangeDB".R0 ( ANY , P#DB13.DBX0.0 BYTE 4).
( Tag_1) , . , REQ , / .
Tag_1 :
, , 666. CPU S7-300 , . , 4 . , R1 R2 — .
3 ANY :
:
. , GET: NDR — , ERROR — STATUS — , . , «» , , . .
ANY, . GET ( ), PUT ( ). , PUT STATUS. .
GET . () PUT. , . R0 DB13. PUT .
Kemudian kita akan menulis data dengan mengatur nilai variabel Tag_7 sama dengan "1". Nah, sekarang, jujur saja, mari kita lihat nilai variabel ini di "kotak hitam".
Penulisan data berhasil. Jadi, bahkan tanpa program pengontrol asli di tangan, kita dapat membaca informasi darinya dan menulisnya. Jumlah datanya terbatas dan bergantung pada jenis CPU. EMNIP, untuk "seri ketiga ratus" paket dibatasi hingga 160 byte, Anda dapat mengetahui lebih lanjut di dokumentasi. Tidak adanya kebutuhan untuk melakukan perubahan pada perangkat lunak aplikasi hanya berlaku untuk seri 300 dan 400, untuk ribuan unit diperlukan untuk mengizinkan akses ke CPU menggunakan metode PUT / GET dengan mencentang kotak yang sesuai di pengaturan sistem.