Modbus adalah protokol komunikasi yang banyak digunakan untuk menghubungkan perangkat elektronik industri. Link IoT Edge menyediakan penggerak Modbus untuk membantu Anda menghubungkan perangkat elektronik industri. Topik ini memperkenalkan penggerak Modbus dan menjelaskan cara menggunakannya.
Ikhtisar
Modbus adalah protokol komunikasi yang banyak digunakan di lapisan aplikasi. Alibaba Cloud menyediakan penggerak Modbus agar Anda dapat menghubungkan perangkat. Penggerak Modbus mendukung koneksi ke perangkat yang menggunakan protokol Modbus RTU dan Modbus TCP.


Penggerak Modbus menyediakan fitur-fitur berikut: baca status input, baca register input, baca dan tulis status coil, serta baca dan tulis holding register.
Link IoT Edge menyediakan penggerak Modbus untuk C dan Python. Layanan ini juga menyediakan berbagai penggerak Modbus untuk C berdasarkan arsitektur CPU gerbang. Anda dapat menggunakan Konsol Link IoT Edge untuk men-deploy penggerak Modbus ke gerbang. Selain itu, Anda dapat mengunduh kode penggerak Modbus dari konsol dan memodifikasinya sesuai kebutuhan bisnis Anda.
Topik ini memberikan contoh cara menggunakan penggerak Modbus.
Prasyarat
Sebuah instans edge telah dibuat dan sebuah gerbang telah terhubung ke Link IoT Edge. Untuk informasi selengkapnya, lihat Siapkan lingkungan.
Langkah 1: Tetapkan driver
- Masuk ke Konsol Link IoT Edge.
- Di panel navigasi sebelah kiri, klik Edge Instances. Pada halaman Edge Instances, temukan instans edge yang ingin Anda gunakan dan klik View di kolom Actions.
- Pada halaman Instance Details, klik tab Devices & Drivers, lalu klik ikon
+di samping All Drivers. - Pada panel Assign Driver, pilih Official Drivers dari daftar drop-down. Temukan penggerak Modbus yang sesuai dengan arsitektur CPU gerbang, lalu klik Assign di kolom Actions. Setelah itu, klik Close.Catatan
- Penggerak Modbus untuk C hanya dapat digunakan pada Link IoT Edge V1.8.4 dan versi yang lebih baru.
- Penggerak Modbus untuk Python hanya dapat digunakan pada Link IoT Edge Edisi Pro.

Langkah 2: Konfigurasikan driver
- Pada tab Devices & Drivers, klik penggerak Modbus yang telah ditetapkan, lalu klik Driver Configurations di samping Devices.
- Pada panel Driver Configurations, klik Add Channel.Channel menghubungkan gerbang ke perangkat fisik.

- Atur parameter sesuai kebutuhan dan klik OK.
Parameter Deskripsi Channel Name Nama channel. Nama channel harus unik untuk gerbang yang dihubungkan oleh channel tersebut. Nama harus terdiri dari 1 hingga 30 karakter dan dapat berisi huruf, angka, serta garis bawah (_). Transmission Mode Mode transmisi. Nilai yang valid: RTU dan TCP.
Jika Anda memilih RTU, Anda harus mengatur parameter berikut: Serial Port Port serial. Contoh: /dev/ttyUSB0 dan /dev/ttyUSB1. Nilai harus terdiri dari 1 hingga 64 karakter dan dapat berisi huruf, angka, garis miring (/), serta garis bawah (_). Baud Rate Jumlah simbol yang ditransfer setiap detik. Pilih opsi dari daftar drop-down. Data Bit Jumlah bit dalam satu kelompok data. Pilih opsi dari daftar drop-down. Parity Bit Pengaturan pemeriksaan paritas. Nilai yang valid: No Parity Check, Odd Parity Check, dan Even Parity Check. Stop Bit Bit terakhir dalam satu paket. Pilih opsi dari daftar drop-down. Jika Anda memilih TCP, Anda harus mengatur parameter berikut: IP Address Alamat IP perangkat Modbus. Masukkan alamat dalam format notasi desimal bertitik. Port Number Nomor port perangkat Modbus. Masukkan bilangan bulat antara 1 hingga 65535. - Opsional. Di sisi kanan Devices, klik Container Configurations. Pada halaman Container Configurations, konfigurasikan kontainer untuk driver berdasarkan parameter yang dijelaskan dalam tabel berikut. Klik Save.Catatan Anda hanya dapat mengonfigurasi kontainer ketika parameter Instance Type dari instans edge diatur ke Pro Edition.
Parameter
Deskripsi
Host Mode
Menentukan apakah jaringan kontainer diisolasi dari jaringan host. Nilai yang valid:
Yes: Jaringan kontainer sama dengan jaringan host.
No: Jaringan kontainer diisolasi dari jaringan host. Jika Anda memilih opsi ini, Anda harus mengatur parameter Network Port Mapping.
Network Port Mapping
Pemetaan antara port jaringan host dan port jaringan kontainer. Parameter ini tersedia hanya jika Anda mengatur parameter Host Mode ke No. Jaringan tempat fungsi berjalan diisolasi dari jaringan host. Anda dapat memetakan port listening fungsi di dalam kontainer ke port jaringan host. Hal ini memungkinkan program client di berbagai host mengakses layanan yang disediakan oleh fungsi tersebut. Anda dapat menentukan maksimal 10 entri.
Contohnya, fungsi
fc-http-serverberjalan di kontainer host dan menyediakan layanan melalui Port 80. Program client di host lain tidak dapat mengakses fungsifc-http-serverdengan mengakses Port 80 pada host saat ini. Untuk memungkinkan program client di host lain mengakses fungsifc-http-server, Anda harus memetakan Port 80 di dalam kontainer tempat fungsi berjalan ke port jaringan host, misalnya Port 8080. Dengan demikian, program client di host lain dapat mengaksesalamat IP:port 8080pada jaringan host dan menggunakan layanan yang disediakan oleh fungsifc-http-server.Privilege Mode
Menentukan apakah mode hak istimewa diaktifkan. Pengguna root kontainer hanya dapat mengakses layanan host sebagai pengguna biasa. Jika Anda perlu mengubah waktu sistem atau menjalankan perintah mount di dalam kontainer, Anda harus diberikan izin root yang diperlukan. Dalam skenario ini, Anda harus mengaktifkan mode hak istimewa untuk kontainer tersebut.
CatatanJika Anda mengaktifkan mode hak istimewa, aplikasi dan program di dalam kontainer akan diberikan izin root host, dan semua perangkat host dipetakan ke kontainer. Oleh karena itu, Anda tidak perlu mengatur parameter Device Mapping.
Device Mapping
Pemetaan perangkat. Parameter ini tersedia hanya jika Anda mengatur parameter Privilege Mode ke No. Jaringan tempat sistem manajemen perangkat berada diisolasi dari jaringan host. Untuk memungkinkan fungsi mengakses perangkat host seperti port serial, Anda harus memetakan perangkat tersebut ke kontainer tempat fungsi berjalan. Anda dapat menentukan maksimal 10 entri.
Volume Mapping
Pemetaan volume. Jaringan tempat sistem file berada diisolasi dari jaringan host. Untuk memungkinkan fungsi mengakses file host, Anda harus memetakan file tersebut ke kontainer tempat fungsi berjalan. Anda dapat menentukan maksimal 10 entri.
Langkah 3: Tetapkan sub-device
- Di bagian Devices, klik Assign Sub-device. Pada panel Assign Sub-device, tetapkan sub-device ke instans edge.Anda dapat memilih perangkat Modbus yang sudah ada atau membuat sub-device. Untuk membuat sub-device, lanjutkan dengan langkah-langkah berikut.Catatan Jika Anda ingin memilih perangkat Modbus yang sudah ada, produk tempat perangkat tersebut berada harus terhubung ke gerbang melalui protokol Modbus. Untuk informasi selengkapnya, lihat Buat produk.
- Pada panel Assign Sub-device, klik Add Sub-device.

- Pada kotak dialog Add Device, klik Create Product dan buat produk tempat perangkat Modbus baru tersebut berada.

- Pada kotak dialog Create Product, atur parameter sesuai kebutuhan dan klik OK.
Tabel 1. Deskripsi parameter Parameter Deskripsi Product NameNama produk. Nama produk harus unik dalam Akun Alibaba Cloud saat ini. Nama harus terdiri dari 4 hingga 30 karakter dan dapat berisi huruf, angka, garis bawah (_), tanda hubung (-), tanda @, serta tanda kurung (). Gateway Connection ProtocolProtokol komunikasi. Anda harus mengatur parameter ini ke Modbus. Authentication ModeMetode autentikasi. Pilih metode autentikasi yang sesuai untuk perangkat Anda. Untuk informasi selengkapnya, lihat Autentikasi perangkat.Product Description Deskripsi produk. Parameter ini opsional. - Pada kotak dialog Add Device, parameter Product secara otomatis diatur ke nama produk yang telah Anda buat. Klik Configure dan definisikan fitur produk tersebut.Catatan Anda dapat mengonfigurasi produk Modbus menggunakan tool debugging Modbus. Untuk informasi selengkapnya, lihat Tool debugging Modbus. Sebelum menggunakan tool debugging, Anda harus terlebih dahulu membuat perangkat dan menetapkannya ke instans edge.

Setelah Anda mengklik Configure, Anda akan diarahkan ke tab Define Feature pada halaman Product Details di Konsol Platform IoT. Klik Edit Draft. Pada halaman Edit Draft, klik Add Self-defined Feature.

- Pada kotak dialog Add Self-defined Feature, atur parameter sesuai kebutuhan untuk mendefinisikan properti. Untuk informasi selengkapnya, lihat Tambahkan fitur TSL.Pada langkah ini, klik Add Extended Information. Pada kotak dialog Add Extended Information, atur parameter sesuai kebutuhan untuk menambahkan informasi tambahan, seperti yang ditunjukkan pada gambar berikut. Setelah konfigurasi selesai, informasi properti akan ditransfer ke register yang ditentukan. Penggerak Modbus meminta data dari perangkat berdasarkan properti yang ditentukan dan mengonversi data Modbus yang diterima menjadi data Thing Specification Language (TSL).

Tabel berikut menjelaskan parameter informasi tambahan. Untuk informasi selengkapnya, lihat deskripsi parameter Extended Information dalam topik Tambahkan fitur TSL.
Parameter Deskripsi Operation Type Jenis operasi yang ditunjukkan oleh kode fungsi. Catatan Deskripsi jenis operasi:- Coil Status: Anda hanya dapat menggunakan kode fungsi 0x01 untuk melakukan operasi baca. Jika ingin melakukan operasi tulis pada satu coil sekaligus, Anda dapat menggunakan kode fungsi 0x05. Jika ingin melakukan operasi tulis pada beberapa coil sekaligus, Anda dapat menggunakan kode fungsi 0x0F.
- Holding Registers: Anda hanya dapat menggunakan kode fungsi 0x03 untuk melakukan operasi baca. Jika ingin melakukan operasi tulis pada satu register sekaligus, Anda dapat menggunakan kode fungsi 0x06. Jika ingin melakukan operasi tulis pada beberapa register sekaligus, Anda dapat menggunakan kode fungsi 0x10.
- Jika Anda menggunakan kode fungsi 0x06 untuk melakukan operasi tulis, parameter Original Data Type hanya dapat diatur ke int16 atau uint16. Jika Anda memilih tipe data lain, akan terjadi error saat data properti dilaporkan.
- Jika Anda menggunakan kode fungsi 0x10 untuk melakukan operasi tulis, semua nilai parameter Original Data Type tersedia.
- Discrete Input: Anda hanya dapat menggunakan kode fungsi 0x02 untuk melakukan operasi baca. Operasi tulis tidak didukung.
- Input Registers: Anda hanya dapat menggunakan kode fungsi 0x04 untuk melakukan operasi baca. Operasi tulis tidak didukung.
Untuk informasi tentang spesifikasi protokol Modbus, lihat GB/T 19582.1-2008, GB/T 19582.2-2008, dan GB/T 19582.3-2008.
Register Address Alamat IP register. Anda harus memasukkan alamat IP heksadesimal yang diawali dengan 0x.Anda harus menentukan alamat IP register berdasarkan properti perangkat Anda. Misalnya, jika suhu perangkat ditunjukkan oleh angka 1 dalam alamat IP, Anda dapat mengatur parameter ini ke 0x1.
Original Data Type Tipe data mentah. Misalnya, tipe data suhu adalah floating point. Value Range Rentang nilai yang diperoleh setelah data mentah diproses berdasarkan faktor zoom. Data yang berada di luar rentang nilai akan dibuang. Switch High Byte and Low Byte in Register Menentukan apakah 8 bit pertama dan 8 bit terakhir dari data 16-bit dalam register ditukar. Dalam contoh ini, atur parameter ini ke true. Switch Register Bits Sequence Menentukan apakah bit-bit dari data asli 32-bit ditukar. Dalam contoh ini, atur parameter ini ke false. Zoom Factor Faktor zoom. Misalnya, jika nilai yang dikumpulkan adalah 100 dan nilai aktualnya adalah 10, atur parameter ini ke 0,1. Jika nilai yang dikumpulkan adalah 100 dan nilai aktualnya adalah 1000, atur parameter ini ke 10. Data Report Pemicu pelaporan data. Nilai yang valid: - At Specific Time: Setelah Anda memilih At Specific Time, data dikumpulkan dan dilaporkan pada interval pengumpulan yang ditentukan oleh parameter Data Collection Interval (ms) untuk sub-device di Langkah 9.
- Report Changes: Pelaporan dipicu jika data yang dikumpulkan berubah.
- Kembali ke halaman Instance Details dan buat perangkat Modbus.

- Tetapkan perangkat Modbus yang telah dibuat ke instans edge.
- Pada tab Devices & Drivers, temukan perangkat Modbus yang telah ditetapkan dan klik Device Configurations di kolom Actions. Pada kotak dialog Device Configurations, atur parameter sesuai kebutuhan untuk menghubungkan perangkat Modbus ke penggerak Modbus.

Tabel 2. Deskripsi parameter Parameter Deskripsi Associated Channel Channel yang menghubungkan perangkat ke penggerak Modbus. Dalam contoh ini, pilih channel yang dibuat di Langkah 2 pada Konfigurasikan driver. Device Station Number Nomor stasiun perangkat Modbus, yang unik untuk setiap channel. Data Collection Interval (ms) Interval pengumpulan data. Modbus adalah protokol komunikasi dengan transmisi half-duplex. Gerbang mengirim permintaan untuk mengumpulkan data dari perangkat. Oleh karena itu, Anda harus menentukan interval pengumpulan data. Satuan: milidetik. Catatan Jika diperlukan 60 milidetik untuk mengumpulkan data setiap properti, total waktu yang diperlukan untuk mengumpulkan data semua properti dihitung berdasarkan rumus berikut:
Jika channel menghubungkan 10 perangkat Modbus dan setiap perangkat memiliki 10 properti, waktu total yang diperlukan adalah 6.000 ms: 60 ms × 10 × 10 = 6.000 ms. Untuk memastikan data dilaporkan sesuai harapan, Anda harus mengatur interval pengumpulan data lebih besar dari atau sama dengan 6.000 ms.Waktu total yang diperlukan = Waktu yang diperlukan untuk mengumpulkan data setiap properti (60 ms) × Jumlah properti untuk channel tersebut
Langkah 4: Deploy instans edge
- Opsional. Sebelum men-deploy instans edge, Anda dapat menggunakan tool debugging untuk memeriksa apakah gerbang terhubung ke perangkat Modbus sesuai harapan. Anda juga dapat memeriksa apakah model TSL produk tempat perangkat Modbus berada dikonfigurasi dengan benar. Untuk informasi selengkapnya, lihat Tool debugging Modbus.
- Pada halaman Instance Details, klik Deploy di pojok kanan atas untuk men-deploy instans edge.
FAQ
Apakah penggerak Modbus mengirim data ke cloud berdasarkan dimensi perangkat atau dimensi properti?
Penggerak Modbus mengumpulkan dan mengirim data ke cloud berdasarkan dimensi perangkat dalam setiap siklus pengumpulan data. Misalnya, jika sebuah perangkat Modbus memiliki 100 properti dan interval pengumpulan datanya adalah 5 detik, penggerak Modbus mengirim satu paket tentang perangkat tersebut ke cloud setiap 5 detik.