1. Link download
http://en.haiwell.com/download/151-en.html
www.keiciptamandiri.com /085228292473
3. Membuat project baru
- Pilih create new project
www.keiciptamandiri.com /085228292473
- Kemudian file di save dulu di drive yang kita inginkan
www.keiciptamandiri.com /085228292473
- Membuat tampilan program. Pada main display (double klik)
-
www.keiciptamandiri.com /085228292473
- Setting warna background main display (missal jadi warna hitam)
www.keiciptamandiri.com /085228292473
- Menambahkan komponen
Pilih komponen yang diinginkan kemudian drag ke main display
www.keiciptamandiri.com /085228292473
5. Setting modbus RTU pada haiwell scada
www.keiciptamandiri.com /085228292473
6. Setting register pada scada haiwell
8. Untuk komponen yang lainnya silahkan tinggal klik kanan properties isi dengan register yang
dibutuhkan
www.keiciptamandiri.com /085228292473
9. Membuat program arduino
Program ini digunakan untuk memonitoring pompa (digital output) dan sensor ketinggian
(analog input), pada slave modbus menggunakan protocol modbus RTU.
Blok diagram
Slave modbus
www.keiciptamandiri.com /085228292473
10. Cara kerja
- tombol on ditekan maka pompa akan on
- jika pengisian sedang berlangsung kemusdian ada masalah tinggal menekan tombol off,
maka pompa akan off
- sensor ketinggian digunakan untuk otomatis pengisian.
- Ketika level sudah 100% pompa akan off
- Ketika level sudah 10% maka pompa akan on
11. Program arduino
#include <Arduino.h>
#include "ModbusRtu.h"
uint16_t au16data[4];
unsigned int level;
#define pompa 5
#define tombol_on_off 2
#define ID_SLAVE 2 // address salve
#define Port_Serial 0
Modbus slave(ID_SLAVE,Port_Serial,0);
void io_poll()
{
if(digitalRead(tombol_on_off)==LOW)
{
level=map(analogRead(0),0,1023,0,100); // baca analog input sensor simpan ke variable ram
au16data[2]=level; // kirim pembacaan level ke scada
if(level<10) // jika level dibawah 10%
{
digitalWrite(pompa,HIGH);//maka pompa on
bitWrite( au16data[0],0,1);//kirim status ke scada pompa off
}
else if(level==100) // jika level sudah 100%
{
digitalWrite(pompa,LOW); //maka pompa off
bitWrite( au16data[0],0,0); // kirim status ke scada pompa off
bitWrite( au16data[0],0,0);
}
}
else //JIKA tombol off atau tidak di tekan
{
digitalWrite(pompa,LOW); //maka pompa off
bitWrite( au16data[0],0,0); // kirim status ke scada pompa off
level=map(analogRead(0),0,1023,0,100); // baca analog sensor simpan ke ram
au16data[2]=level; // kirim pembacaan level ke scada
}
}
//=============================================================
void setup() {
// put your setup code here, to run once:
www.keiciptamandiri.com /085228292473
slave.begin(9600); // baud-rate at 19200
pinMode(pompa,OUTPUT);
pinMode(6,OUTPUT);
pinMode(tombol_on_off, INPUT);
digitalWrite(tombol_on_off,HIGH);
digitalWrite(pompa,LOW);
digitalWrite(6,LOW);
}
//==================================================================
void loop()
{
slave.poll(au16data,3);
io_poll();
}
www.keiciptamandiri.com /085228292473
13. Pastikan COM yang dipakai yaitu com1
14. Jalankan program scada – klik online simulation
www.keiciptamandiri.com /085228292473