cobaseh

Kembali ke Blog

Sensor

tutorial komunikasi data plc fx3u 32mr fx3u 32mr dengan esp32, modbus protocol, dan mqtt

04 Dec 2024

Berikut adalah langkah-langkah untuk membuat tutorial komunikasi data antara PLC FX3U-32MR dengan ESP32 menggunakan protokol Modbus dan MQTT:

Langkah 1: Persiapkan Perangkat Lunak dan Alat

1.1. Instalasi Perangkat Lunak

  • MicroPython : Untuk mengembangkan aplikasi pada ESP32. Anda dapat mendownloadnya dari situs resmi MicroPython.
  • Perpustakaan Modbus : Jika perlu, instal perpustakaan Modbus yang kompatibel dengan MicroPython. Contohnya. ‘modbus-master’

1.2. Konfigurasi Lingkungan

Pastikan Anda memiliki semua alat yang diperlukan seperti ESP32, kabel jumper, dan perangkat lunak pengujian seperti PuTTY atau terminal bawaan dalam IDE.

Langkah 2: mengatur Modbus di PLC FX3U-32MR

2.1. Identifikasi Daftar Modbus

Tentukan jenis register yang akan digunakan oleh PLC FX3U-32MR. Biasanya termasuk koil, input diskrit, register input, dan register penahan.

2.2. Konfigurasikan Daftar Modbus

Konfigurasilah register-register tersebut agar sesuai dengan kebutuhan aplikasi. Pastikan tipe dan atribut register telah ditetapkan dengan benar, serta memperhatikan alamat register, panjang data, dan hak akses.

Langkah 3: Membuat Proyek di ESP32

3.1. Membuat Proyek Baru di IDE

Membuka IDE favorit Anda (seperti Thonny atau PyCharm CE) dan membuat proyek baru untuk ESP32.

3.2. Impor Pustaka Modbus

Jika belum terinstal, pastikan Anda mengimport perpustakaan Modbus yang relevan dengan proyek ini.

ular piton

from machine import UART import ustruct as struct import time class ModbusDevice: def __init__(self): self.uart = UART(0, baudrate=9600) # Fungsi untuk membaca nilai dari register tertentu def read_holding_registers(self, start_address, number_of_registers): command_byte = 0x03 << 4 | len(number_of_registers) frame_data = bytearray([command_byte]) for _ in range(len(start_address)): frame_data.append(int.from_bytes(start_address[_], 'big')) for _ in range(len(number_of_registers)): frame_data.append(_) self.uart.write(frame_data) time.sleep_ms(50) response_frame = self.uart.read() if response_frame[0] == 0x80: return [(response_frame[i * 2 + 2] << 16) | (response_frame[i * 2 + 3] << 8) + (response_frame[i * 2]) for i in range((len(response_frame)-2)//2)] else : print('Error')

3.3. Koneksi Ke Internet Melalui Wi-Fi

Koneksilah ESP32 ke jaringan Wi-Fi melalui kode berikut:

ular piton

import network wlan = network.WLAN(network.STA_IF) wlan.active(True) wlan.connect('ssid', 'password') print(wlan.isconnected())

3.4. Penggunaan Klien MQTT

Instalasi dan konfigurasi klien MQTT jika sudah tidak ada. Misalkan menggunakan pustaka. ‘umqtt.simple’

ular piton

import umqtt.simple def connect_mqtt(): global mqtt_client mqtt_client = umqtt.simple.MQTT( server='your_broker_ip', port=1883, keepalive=60, ssl=False, username=None, password=None) return mqtt_client.connect() def disconnect_mqtt(): global mqtt_client if mqtt_client.is_connected(): print(f'Disonnecting {mqtt_client}') mqtt_client.disconnect() # Example usage: if __name__=='__main__': # Initialize Modbus Device object dev_modbus=ModbusDevice() # Establish initial connections wlan=wlan.connect('ssid','pwd') while True : # Read Holding Registers result_dev=read_holding_registers(dev_modbus ,start_addr ,num_regs ) # Convert Result into String Formatted Data formatted_result=str(result_dev)[1:-1].strip().split(',') # Construct Payload Message payload_message=f'{"PLCFX3U"}:{formatted_result}' # Publish Message Over MQTT Channel conn_mqtt(connect_mqtt()) publish_message(payload_message,'your_topic') time.sleep_ms(100) disconnect_mqtt() print('Done'

Langkah 4 : Integrasi Ke Sistem IoT

4.1 Model Data Pemetaan :

Model data peta dari register-modbus ke payload-message mqtt . Misalkan :

Bahasa Indonesia:

{ 'PLCFX32MR': [ {'register_name':'coil_01','value':'True'}, {'register_name':'input_discrete_02','value':'False'} ] } 

4.2 Pengujian & Pemantauan :

Lakukan ujian sistem integrasi ,pastikan komunikasi-data berhasil transmisi dari PLC FX3U ke ESP32 kemudian ke broker-MQTT .

Gunakan tool-client-penelaan seperti MQTT Explorer untuk monitoring-transmission-data-realtime .

4.3 ​​Pemantauan & Peringatan Implementasi :

Implementasikan fitur-monitoring-alarm sistem ,agar bisa monitoring-performansi-sistem-transmisi-data-integritas-dengan-mudah . Gunakan tool-tool-pengujian-fitur-alert seperti Grafana-InfluxDB-Zabbix dsb.

Demikianlah tutorial komunikasi data PLC FX32MR ESP32 Modbus MQTT ! Pastikan Anda telah mengikuti langkah-langkah tersebut dengan teliti agar hasil optimal

Sekian dulu penjelasan kita kali ini jika inovator membutuhkan bantuan untuk implementasi hebatnya di bidang Teknologi Otomasi yang meliputi Internet Of Things (IoT), Elektronika (Ardunio, STM32, Raspberry, dll), Instrumentasi dan informatika (Pengolahan Citra, Kecerdasan Buatan (AI), Software Aplikasi) langsung saja hubungi akun media sosial kami melalui link WA berikut ini.

Jasa Arduino Bandung Internet of Things Bandung. Jasa Arduino Surabaya Internet of Things Surabaya. Jasa Arduino Jakarta Internet of Things Jakarta. Jasa Arduino Depok. Jasa Arduino Malang. Jasa Arduino Bandung. Jasa Arduino Batam. Jasa Arduino Bekasi. Jasa Arduino Surabaya. Jasa Arduino Semarang. Jasa Arduino Surakarta. Jasa Arduino Pekanbaru. Jasa Arduino Tangerang Selatan. Jasa Arduino Bekasi. Jasa Arduino Makassar. Jasa Arduino Tangerang. Jasa Arduino Medan. Jasa Arduino Palembang. Jasa Arduino Jogja. Jasa Arduino Yogyakarta.

Postingan Terkait

Lihat postingan lainnya disini

Komentar

1 komentar


avatar_placeholder_1

Muhammad Sumbul

29 Februari 2025

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin eu interdum libero. Sed placerat suscipit.

Profile

Anda login sebagai Placeholder

ingatlah selalu untuk berkomentar dengan baik dan sopan

avatar_placeholder_1
Submit