mengatur IO outseal menggunakan blynk

Alat alat yang dibutuhkan

1. plc nv5

2. modul esp8266

3. usb to ttl ftdi (buat ngeprogram modul esp8266)




Ladder remote IO outseal

outseal difungsikan sebagai modbus slave, baudrate 57600, id 1.


untuk output dikontrol sama b1-b.8 (alamat bit 128 sampai / dengan bit 135).

untuk monitoring s1-s8 memakai b.9-b.16 (alamat modbus 136 s/d 143).


program arduino

library yang dipakai

#include <ESP8266WiFi.h>
#include <SimpleModbusMaster.h>
#include <BlynkSimpleEsp8266.h>

sesuaikan ssid, password dengan wifi yang dipakai 

char ssid[] = "KCM Semeru";
char pass[] = "semerulima";

sesuaikan auth token blynk, didapat dari, pembuatan project di app blynk


char auth[] = "3DhsISIPgInrMBQylRLstgRSB6WJOWlt";


Function code

function code yang dipakai yaitu read coll dan write coil, kita setting , untuk perintah modbusnya

setting untuk write coil

modbus_construct(&packets[PACKET1], 1, FORCE_SINGLE_COIL, 128, 1, 0);
modbus_construct(&packets[PACKET2], 1, FORCE_SINGLE_COIL, 129, 1, 1);
modbus_construct(&packets[PACKET3], 1, FORCE_SINGLE_COIL, 130, 1, 2);
modbus_construct(&packets[PACKET4], 1, FORCE_SINGLE_COIL, 131, 1, 3);
modbus_construct(&packets[PACKET5], 1, FORCE_SINGLE_COIL, 132, 1, 4);
modbus_construct(&packets[PACKET6], 1, FORCE_SINGLE_COIL, 133, 1, 5);
modbus_construct(&packets[PACKET7], 1, FORCE_SINGLE_COIL, 134, 1, 6);
modbus_construct(&packets[PACKET8], 1, FORCE_SINGLE_COIL, 135, 1, 7);

setting untuk read coil
modbus_construct(&packets[PACKET9], 1, READ_COIL_STATUS, 136, 1, 8);
modbus_construct(&packets[PACKET10], 1, READ_COIL_STATUS, 137, 1, 9);
modbus_construct(&packets[PACKET11], 1, READ_COIL_STATUS, 138, 1, 10);
modbus_construct(&packets[PACKET12], 1, READ_COIL_STATUS, 139, 1, 11);
modbus_construct(&packets[PACKET13], 1, READ_COIL_STATUS, 140, 1, 12);
modbus_construct(&packets[PACKET14], 1, READ_COIL_STATUS, 141, 1, 13);
modbus_construct(&packets[PACKET15], 1, READ_COIL_STATUS, 142, 1, 14);
modbus_construct(&packets[PACKET16], 1, READ_COIL_STATUS, 143, 1, 15);


baca virtual data (write coils)

perintah write coil dari blynk. baca virtual data kemudian update register modbusnya.

untuk ON diisi 0xff00 dan untuk off  diisi 0x0000

BLYNK_WRITE(V2)

{

  value = param.asInt(); // Get value as integer

  if (value == 0)regs[0] = 0;

  else regs[0] = 0xff00;


tulis virtual data (read coils)

perintah baca s1-s8, baca modbus read coil kemudian kirim ke blynk memkai virtual data

void send_data_inputoutseal()

{

  if (regs[8] == 0)Blynk.virtualWrite(V10, 0); //suhu virtual 5

  else Blynk.virtualWrite(V10, 255); //suhu virtual 5

}


Design untuk program BLYNK




video hasil oprekan



Untuk program lengkapnya terdapat dipembelian modul esp8266 + plc


Komentar

Postingan populer dari blog ini

Belajar script task di hmi Haiwell

Menggunakan Modbus poll untuk membaca sensor suhu XY-MD02

Menghubungkan autonic temperature dengan Haiwell PC