HMI WEINTEK Connect Arduino Menggunakan protokol Modbus RTU
HMI WEINTEK Connect Arduino Menggunakan protokol Modbus RTU
Download Software EasybuilderPro
Klik DIsini Untuk mendownload software Easybuilder pro
Download Program HMI
Klik Disini untuk Download Program HMI Weintek
Download Program Arduino
/****Arduino MODBUS RTU*** * * Source Code By : Lukman Amirul F ( dengan Bantuan Kopas Kono kene :v) * * MODBUS library written by Jason Vreeland [CodeRage] * Released 3/7/2010 under GNU license * https://code.google.com/archive/p/arduino-modbus-slave/downloads */ #include <modbus.h> #include <modbusDevice.h> #include <modbusRegBank.h> #include <modbusSlave.h> modbusDevice regBank; modbusSlave slave; #define GREEN_LED 3 #define RED_LED 5 #define BUTTON 2 #define POTENTIOMETER A0 void setup() { pinMode(GREEN_LED, OUTPUT); pinMode(RED_LED, OUTPUT); pinMode(BUTTON, INPUT_PULLUP); //Assign the Modbus Slave ID. regBank.setId(1); //Add Digital Output registers regBank.add(1); //Add Digital Input registers regBank.add(10001); //Add Analog Output registers regBank.add(40010); //Analog input registers regBank.add(30001); slave._device = ®Bank; // Initialize the baudrate serial port // Set in SCADA: Baud rate=9600,Data bits=8,Stop bits=1,Parity=None,Flow control=None slave.setBaud(9600); } void loop() { //Digital output int DO3 = regBank.get(1); if (DO3 <= 0 && digitalRead(GREEN_LED) == HIGH)digitalWrite(GREEN_LED,LOW); if (DO3 >= 1 && digitalRead(GREEN_LED) == LOW)digitalWrite(GREEN_LED,HIGH); //Digital Input byte DI2 = digitalRead(BUTTON); if (DI2 >= 1)regBank.set(10001,0); if (DI2 <= 0)regBank.set(10001,1); //Analog input regBank.set(30001, (word)analogRead(POTENTIOMETER)); //Analog output word AO10 = regBank.get(40010); analogWrite(RED_LED,AO10); slave.run(); delay(100); }
Komentar
Posting Komentar