Kembali ke blog

Modbus pada Rangkaian Loji: Bingkai, Daftar dan Had Reka Bentuk

Integrasi Modbus berjaya apabila pengangkutan, pengalamatan, perwakilan data, pengundian dan tingkah laku kegagalan direka bentuk sebagai satu kontrak. Panduan ini menerangkan cara mentauliahkan ra...

Modbus mudah dikenali dan ternyata mudah disalahgunakan. Protokol ini telah beralih daripada pautan bersiri multidrop kepada Ethernet tersuis tanpa meninggalkan model permintaan dan responsnya yang padat. Kesinambungan ini menjadikannya berguna dalam loji brownfield, tetapi label “Modbus disokong” hampir tidak memberi petunjuk sama ada dua peranti akan bertukar data proses yang boleh dipercayai.

Integrasi yang berfungsi memerlukan kontrak yang jelas: pengangkutan, identiti unit, kod fungsi, konvensyen alamat, jenis data, penskalaan, susunan bait dan perkataan, tempoh pengundian, tamat masa, serta tindak balas terhadap kegagalan. Pentauliahan hendaklah membuktikan kontrak tersebut menggunakan nilai yang diketahui dan kerosakan terkawal sebelum data dibenarkan mengawal penggera, interlock atau arahan.

PLC mengundi instrumen medan melalui rangkaian Modbus yang didokumenkan

Protokol memindahkan permintaan dan respons; spesifikasi kejuruteraan memberikan makna proses kepada setiap bit dan daftar.

Asingkan model data daripada pengangkutan

Modbus mendedahkan empat jenis objek yang lazim: gegelung, input diskret, daftar input dan daftar pegangan. Dua yang pertama mengandungi keadaan bit tunggal, manakala daftar mengandungi nilai 16-bit. Kod fungsi memilih operasi yang diminta. Sesuatu peranti mungkin hanya menyokong sebahagian model tersebut, dan tingkah laku boleh tulis ditentukan oleh kedua-dua fungsi serta pelaksanaan pengeluar.

Modbus RTU meletakkan unit data protokol dalam bingkai bersiri bersama alamat hamba dan semakan redundansi kitaran. Penerima juga bergantung pada pemasaan antara aksara dan antara bingkai untuk mengenal pasti mesej lengkap. Modbus TCP membawa unit data protokol melalui TCP dan menambah pengepala MBAP yang mengandungi pengecam transaksi, pengecam protokol, panjang dan pengecam unit. Pengecam transaksi membolehkan klien memadankan respons dengan permintaan yang betul; pengecam unit amat penting apabila get laluan TCP menghala permintaan kepada peranti bersiri.

Titik permulaan berautoriti ialah spesifikasi Modbus Organization, termasuk protokol aplikasi, panduan talian bersiri dan panduan pemesejan TCP. Manual peranti masih diperlukan kerana piawaian tidak mentakrifkan makna atau penskalaan daftar proses pengeluar.

Seragamkan perwakilan alamat dan data

Banyak kegagalan pentauliahan bermula daripada notasi, bukannya pendawaian. Manual mungkin memanggil daftar pegangan pertama 40001, sedangkan mesej mengandungi ofset sifar. Sesetengah pemacu menjangkakan nombor rujukan; yang lain menjangkakan ofset mentah dan menambah jenis objek secara dalaman. Catatkan kedua-dua notasi manual dan ofset permintaan sebenar dalam dokumen antara muka. Kemudian baca nilai yang boleh disahkan secara bebas.

Daftar 16-bit mempunyai jujukan bait yang ditetapkan pada wayar, tetapi integer 32-bit dan nilai titik apungan menggunakan dua daftar. Pengeluar mungkin meletakkan perkataan tinggi atau perkataan rendah terlebih dahulu. Tafsiran bertanda berbanding tidak bertanda mewujudkan satu lagi punca kegagalan. Jangan pilih tetapan pertukaran hanya kerana nombor itu “kelihatan munasabah”. Suntik atau perhatikan sekurang-kurangnya dua nilai yang diketahui, termasuk satu nilai yang mendedahkan tanda dan skala, kemudian catat perwakilan yang telah disahkan.

Penskalaan hendaklah menjadi sebahagian daripada kontrak yang sama. Tekanan mungkin berupa integer dalam persepuluh unit, nilai kejuruteraan dalam format IEEE-754 atau peratusan julat yang dikonfigurasikan. Takrifkan julat sah, tingkah laku di luar julat dan sama ada kod mentah khas bermaksud kegagalan penderia. Nilai yang munasabah tetapi berskala salah ialah kerosakan kualiti data, walaupun komunikasi berfungsi dengan baik.

Medan bingkai Modbus RTU dan Modbus TCP dibandingkan untuk pentauliahan

RTU dan TCP berkongsi semantik kod fungsi, tetapi pembingkaian, pemasaan dan sempadan diagnostiknya berbeza.

Bina anggaran masa pengundian yang realistik

Bagi segmen RS-485, kirakan kitaran berdasarkan kadar baud, panjang permintaan dan respons, kelewatan respons peranti, selang senyap yang diperlukan, bilangan nod, tamat masa dan dasar percubaan semula. Kumpulkan daftar bersebelahan jika tindakan itu tidak melintasi julat alamat yang tidak disokong. Undi nilai kawalan yang berubah pantas dengan lebih kerap berbanding suhu, jumlah tenaga atau daftar konfigurasi. Pengundian pantas untuk segala-galanya menggunakan margin pemulihan tanpa menambah baik proses.

Modbus TCP menghapuskan had kadar baud bersiri, tetapi tidak menghapuskan had peranti atau get laluan. Get laluan menyusun trafik ke dalam bas hiliran. Berbilang klien Ethernet boleh mewujudkan baris gilir, dan tamat masa klien yang lebih pendek daripada masa baris gilir terburuk menghasilkan percubaan semula yang memburukkan kesesakan. Wujudkan satu pemilik pengundian jika praktikal, hadkan transaksi serentak kepada jumlah yang didokumenkan oleh pelayan, dan pantau masa respons selain tamat masa sepenuhnya.

Pemilihan perkakasan hendaklah mengambil kira kod fungsi yang disokong, bilangan maksimum daftar bagi setiap permintaan, tingkah laku sambungan dan sesi, keterlihatan baris gilir get laluan serta pembilang diagnostik. Pengawal yang sesuai boleh diteliti dalam koleksi sistem PLC dan PAC, manakala get laluan, suis dan komponen antara muka hendaklah ditempatkan dalam seni bina komunikasi dan rangkaian yang dirancang dengan teliti.

Jadikan data lapuk mustahil disalah anggap sebagai data baik

Bacaan yang berjaya hendaklah mengemas kini kedua-dua nilai dan keadaan kualitinya. Simpan cap masa kejayaan terakhir, bilangan kegagalan berturut-turut, kod pengecualian dan status komunikasi. Gunakan had umur yang sesuai untuk proses tersebut. Setelah had itu dilampaui, tandakan nilai sebagai lapuk dan bukannya mengekalkan nombor yang kelihatan sah tanpa batas waktu.

Respons pengecualian ialah bukti yang berguna. Respons ini membezakan fungsi yang tidak disokong, alamat tidak sah, nilai tidak sah atau kegagalan pada peranti daripada ketiadaan respons. Logkan semuanya tanpa mewujudkan ribut percubaan semula yang tidak terkawal. Laluan tulis juga hendaklah mempunyai satu pemilik yang ditetapkan, pemeriksaan julat, kebenaran arahan dan—jika sesuai untuk proses—bacaan semula atau jabat tangan arahan/status. Jangan anggap bahawa respons protokol yang berjaya membuktikan tindakan fizikal telah berlaku.

Diagnosis dari lapisan fizikal ke atas

Pada rangkaian bersiri

Sahkan topologi daisy-chain, penamatan pada kedua-dua hujung fizikal, pincangan terkawal, kekutuban yang konsisten, amalan pelindung dan rujukan yang sesuai dengan tapak, serta pengasingan daripada konduktor pensuisan tenaga tinggi. Ukur atau tangkap trafik pada titik yang diketahui. Ralat CRC mencadangkan masalah hingar, pantulan, pembumian atau pembingkaian; permintaan yang bersih tanpa respons pula menunjukkan kemungkinan masalah alamat, baud, pariti, keadaan peranti atau pemasaan.

Pada rangkaian Ethernet

Periksa pengalamatan, kejadian IP pendua, ralat port suis, perubahan pautan, turun naik sambungan dan beban get laluan. Tangkapan paket boleh menunjukkan sama ada kelewatan berlaku sebelum permintaan, di dalam pelayan atau di belakang get laluan. Sahkan bahawa pengecam transaksi dan respons kekal berpadanan apabila lebih daripada satu permintaan sedang menunggu.

Uji kes kegagalan semasa pentauliahan

Ujian penerimaan hendaklah merangkumi nilai minimum dan maksimum yang diketahui, nilai bertanda atau titik apungan, peranti yang diputuskan, alamat tidak sah, respons tertunda, mula semula get laluan dan pemulihan selepas komunikasi kembali. Sahkan penggera, pengendalian data lapuk, penyekatan arahan, had percubaan semula dan paparan operator. Catat peta daftar akhir, tetapan pemacu, kumpulan pengundian dan justifikasi tamat masa bersama sandaran sistem kawalan.

Modbus kekal sebagai pilihan yang kukuh untuk meter, pemacu, I/O jauh, peralatan persekitaran dan integrasi legasi apabila pemilikan serta semantik ditakrifkan dengan jelas. Ia kurang sesuai apabila aplikasi memerlukan penerangan kendiri yang kaya, penerbitan dipacu peristiwa, gerakan terselaras atau keselamatan yang terbina dalam protokol aplikasi. Kekuatannya ialah ketelusan: jurutera boleh memeriksa setiap pertukaran. Kekuatan itu hanya menjadi kebolehpercayaan apabila kontrak data dan kegagalan di sekelilingnya turut kelihatan dengan jelas.

Tinggalkan komen

Sila ambil perhatian, komen perlu diluluskan sebelum ia diterbitkan.