Tugas menyebabkan harus menggunakan ascon XT 31/95 yang kuno dan menghubungkan dengan Weintek MT8051IP.
Untuk
komunikasi, ascon xt 31/95 hanya menggunakan Ascon Protocol Gamma Uno. Dimana
ascii character dikirimkan. Berbekal googling didapatkan beberapa material
dibawah ini yang membantu yaitu:
1. ALS-en book
Berisi panduan ASCON APALS 3/232
2. Ascon Serial communications protocol
Supplement manual, JM/JT, MF/MC, MS, XE,XF, XS/XP Series.
Berisi panduan ascii protocol
Banyak lagi
manual yang didapatkan, tapi hanya kedua pdf diatas yang membantu. Tidak adanya
contoh contoh aplikasi menggunakan HMI menyebabkan kesulitan.
Baiklah
kita melihat kemampuan Weintek HMI, dimana tersedia Free Protocol.
Untuk itu
awal adalah setting koneksi yaitu:
Pada ASCON
XT 31/95 secara manual:
Baud rate :
9600, parity None
Pada
Weintek menggunakan Free Protocol dengan baud rate 4800 (boleh test 9600), parity None, stop bits 1
Barulah
dilakukan koneksi pada Ascon XT 31/95 dengan APALS/3/232:
Untuk koneksi RS232 menggunakan terminal 7(RX), 6(TX) dan 3(SG) menuju Weintek.
Oh iya
selain panduan diatas, saya gunakan juga ASCON_XS_EN_MANUAL pdf, dimana
terdapat kemiripan. Hanya XT 31/95 tidak memiliki modbus protocol.
Lain lain
panduan bisa di googling, palagi yang menggunakan programming Basic, Fortran, C
dll.
Karena tuk
memudahkan, saya gunakan Weintek HMI dengan Free Protocol.
Macro yang
saya buat adalah spt dibawah ini:
// Free
Protocol ASCII for Ascon
// Read
main display
macro_command
main()
unsigned
char command[10], response[10]
short
return_value, c
FILL(command[0],
0, 10)// init
FILL(response[0],
0, 10)
command[0]
= 0x42 // station no 1
command[1]
= '?' // read coils
command[2]
= 'X' // command
command[3]
= ' ' //
command
command[4]
= ' ' //
command
command[5]
= 0x0D // Carriage Return
OUTPORT(command[0],
"MODBUS RTU Device", 6) //
send command asking Display Data Ascon
INPORT(response[0],
"MODBUS RTU Device", 5, return_value) // read response
SetData(response[0],
"Local HMI", LW, 15, 4) //
send response to LW 15 temporary
ASCII2HEX
(response[0], c, 4) //convert ASCII response to HEX
SetData(c,
"Local HMI", LW, 25, 1)// send
response to LW 25 for later display on HMI
end
macro_command
sedangkan
untuk menulis setting temperature adalah:
// Free
Protocol ASCII Ascon Write Coils
// Untuk
menulis setting temperature
macro_command
main()
unsigned
char command[10], response[10]
short
return_value, b
FILL(command[0],
0, 10)// init
FILL(response[0],
0, 10)
command[0]
= 0x42 // station no 1
command[1]
= '!' // read coils 3F=?=ask 21=!=write
command[2]
= 'W' // command
command[3]
= 'L' //
command
command[4]
= ' ' // command
// get
one word from LW2 to the variable b
GetData(b,
"Local HMI", LW, 28, 1) // get word dari LW 28
HEX2ASCII
(b, command[5], 4) // convert word HEX into ASCII, put in command[5] to
command[8]
command[9]
= 0x0D // end with Carriage Return
OUTPORT(command[0],
"MODBUS RTU Device", 10) //
send command
INPORT(response[0],
"MODBUS RTU Device", 5, return_value) // read response
SetData(response[0],
"Local HMI", LW, 35, 4) //
send response to LW 35, if needed
end
macro_command
satu
lagi macro yang saya buat adalah :
// Free
Protocol ASCII for Ascon
//
Membaca setelan target temperature
macro_command
main()
unsigned
char command[10], response[10]
short
return_value, c
FILL(command[0],
0, 10)// init
FILL(response[0],
0, 10)
command[0]
= 0x42 // station no
command[1]
= '?' // read coils
command[2]
= 'W' // command
command[3]
= ' ' // command
command[4]
= ' '// command
command[5]
= 0x0D// CR
OUTPORT(command[0],
"MODBUS RTU Device", 6)// send
command
INPORT(response[0],
"MODBUS RTU Device", 5, return_value)// read response
SetData(response[0],
"Local HMI", LW, 45, 4)// send
response to LW
ASCII2HEX
(response[0], c, 4)
SetData(c,
"Local HMI", LW, 55, 1)// send
response to LW
end
macro_command
Dengan
ketekunan, googling, dan belajar akhirnya dapat melakukan komunikasi antara
Weintek HMI dengan APALS/3/232 dan diteruskan ke ASCON XT 31/95
Dapat dilihat screenshoot diatas, address 1 hingga 3. Data diisi/diubah dan response maupun temperature muncul dilayar HMI.
Komentar