6 BAB 2 LANDASAN TEORI 2.1. Teori Umum Bab ini akan

advertisement
BAB 2
LANDASAN TEORI
2.1.
Teori Umum
Bab ini akan menjelaskan beberapa teori secara umum yang secara
mendasar digunakan dalam kaitannya dengan Analisis dan Perancangan Aplikasi
Manajemen Controller-Area Network Berbasis Modbus Pada Multi Genset
Controller Melalui Jaringan Lokal dan Internet.
2.1.1. Model OSI
Menurut sumber dari internet http://id.wikipedia.org, model
referensi jaringan terbuka OSI adalah sebuah model arsitektural jaringan
yang dikembangkan oleh badan International Organization for
Standardization (ISO) di Eropa pada tahun 1977. OSI merupakan
singkatan dari Open System Interconnection. Model ini disebut juga
dengan "Model tujuh lapis OSI" (OSI seven layer model).
Sebelum munculnya model referensi OSI, sistem jaringan
komputer sangat tergantung kepada vendor. OSI berupaya membentuk
standar umum jaringan komputer untuk menunjang interoperatibilitas
antar pemasok yang berbeda. Dalam suatu jaringan yang besar biasanya
terdapat banyak protokol jaringan yang berbeda. Tidak adanya suatu
protokol yang sama, membuat banyak perangkat tidak bisa saling
berkomunikasi.
6
7
Disebutkan
dalam
sumber
di
http://en.wikipedia.org/wiki/OSI_model, model OSI ini terbagi secara
besar menjadi 2 grup. Grup yang pertama, yaitu 4 layer teratas, biasa
disebut sebagai host layer. Kemudian grup yang kedua, yaitu 3 layer
berikutnya disebut dengan media layer. Host layer mendefinisikan
komunikasi antara user dengan aplikasi. Sedangkan media layer
mendefinisikan bagaimana data yang ada bisa dipindahkan melalui antar
media.
Gambar 2.1. OSI Model
8
2.1.1.1. Layer Application
Layer ini berfungsi sebagai antarmuka dengan aplikasi
dengan fungsionalitas jaringan, mengatur bagaimana aplikasi
dapat mengakses jaringan, dan kemudian membuat pesan-pesan
kesalahan. Layer ini menyediakan akses ke lingkungan OSI
untuk pemakai dan hanya menyediakan pelayanan distribusi
informasi. Protokol yang berada dalam layer ini adalah HTTP,
FTP, SMTP, dan NFS. Sementara layanan-layanan yang
disediakan diantaranya adalah World Wide Web (WWW), email
gateway, electronic data interchange, layanan transaksi
finansial, dan lain sebagainya.
2.1.1.2. Layer Presentation
Menyediakan kebutuhan pada proses aplikasi serta
memberi layanan keamanan data serta proses penyimpanan file.
Pada layer ini terjadi pembuatan struktur data yang didapat dari
layer application ke sebuah format yang dapat ditransmisikan
melalui jaringan. Layer ini juga bertanggungjawab untuk
melakukan enkripsi data, kompresi data, konversi set karakter
(ASCII, Unicode, EBCDIC, atau set karakter lainnya),
interpretasi perintah-perintah grafis, dan beberapa lainnya.
9
2.1.1.3. Layer Session
Layer ini menyediakan struktur kontrol bagi hubungan
antara aplikasi yaitu membangun, mengatur, dan mengakhiri
koneksi antara hubungan aplikasi. Beberapa fungsi utama dari
layer session adalah mengatur pertukaran data, menjaga
hubungan dua user aplikasi, mengendalikan dialog antar user,
memberikan identifikasi/pemberian nama (address) menurut
aturan yang berlaku, dan berfungsi sebagai layer manajemen.
Layer session dapat menjamin bahwa pengorganisasian transfer
data secara sinkronisasi.
2.1.1.4. Layer Transport
Berfungsi untuk memecah data ke dalam paket-paket data
serta memberikan nomor urut ke paket-paket tersebut sehingga
dapat disusun kembali pada sisi tujuan setelah diterima. Selain
itu, pada level ini juga membuat sebuah tanda bahwa paket
diterima
dengan
sukses
(acknowledgement),
dan
mentransmisikan ulang terhadap paket-paket yang hilang di
tengah jalan. Setiap aplikasi dapat membuat program untuk
langsung mengakses layer transport untuk menghasilkan
komunikasi end to end antar user. Protokol TCP dan UDP
terdapat pada layer ini.
10
2.1.1.5. Layer Network
Layer network menyediakan fasilitas pada transport, agar
data dapat sampai ke tujuan. Untuk itu proses penyambungan
dilakukan dan juga proses pengendalian jaringan dilakukan.
Lebih jelasnya layer ini mendefinisikan alamat-alamat IP,
membuat header untuk paket-paket, dan kemudian melakukan
routing melalui internetworking dengan menggunakan router
dan switch layer-3.
2.1.1.6. Layer Data Link
Layer ini berfungsi untuk menentukan bagaimana bit-bit
data dikelompokkan menjadi format yang disebut sebagai frame.
Selain itu, pada level ini terjadi koreksi kesalahan, flow control,
pengalamatan perangkat keras (seperti halnya Media Access
Control Address (MAC Address)), dan menentukan bagaimana
perangkat-perangkat jaringan seperti hub, bridge, repeater, dan
switch layer 2 beroperasi. Spesifikasi IEEE 802, membagi level
ini menjadi dua level anak, yaitu lapisan Logical Link Control
(LLC) dan lapisan Media Access Control (MAC).
2.1.1.7. Layer Physical
Layer physical pada intinya berfungsi untuk melakukan
komunikasi langsung dengan berbagai jenis media komunikasi.
Jika dijelaskan lebih lanjut, maka layer ini memiliki fungsi
11
untuk mendefinisikan media transmisi jaringan, metode
pensinyalan, sinkronisasi bit, arsitektur jaringan (seperti halnya
Ethernet atau Token Ring), topologi jaringan dan pengkabelan.
Selain itu, juga mendefinisikan bagaimana Network Interface
Card (NIC) dapat berinteraksi dengan media kabel atau radio.
Layer ini juga mengidentifikasi interface antara DCE (Data
Communication
Equipment)
and
DTE
(Data
Terminal
Equipment).
2.1.2. TCP and UDP
Dua protokol ini, TCP (Transmission Control Protocol) dan UDP
(User Data Protocol), terletak pada model OSI di layer ke-4 yaitu layer
transport. Perbedaan yang paling mendasar antara TCP dan UDP adalah
pada reliability. TCP lebih bersifat connection oriented, sedangkan UDP
lebih bersifat connectionless. UDP digunakan untuk pengiriman data
secara cepat tanpa memperhatikan ketepatan pengiriman data, ini
mengurangi keakuratan data yang dikirimkan. Sedangkan TCP memiliki
kelebihan pada error recovery dan flow control, hanya saja terbatas
karena TCP bersifat connection oriented.
12
Gambar 2.2. Protokol TCP dan UDP
2.1.3. Standar Komunikasi Serial
Menurut sumber http://en.wikipedia.org, komunikasi serial adalah
proses pengiriman dari data satu bit pada satu waktu secara
berurutan/berentetan. Komunikasi ini dilakukan melalui sebuah jalur
komunikasi atau computer bus. Komunikasi serial lebih banyak
digunakan dalam komunikasi jarak jauh dan hampir semua jaringan
komputer, hal ini dikarenakan harga dari kabel serta kesulitan dalam
sinkronisasi yang membuat komunikasi paralel menjadi jarang digunakan.
Ada 2 macam metode komunikasi data serial yaitu synchronous
dan asynchronous. Kedua metode ini merupakan dua buah metode
transmisi sinkronisasi yang berbeda. Metode transmisi synchronous
merupakan sinkronisasi menggunakan external clock, sedangkan metode
13
transmisi asynchronous, sinkronisasinya oleh sinyal khusus melalui
media transmisi.
Dijelaskan oleh William Stallings (2004, p172), bahwa pada
transmisi asynchronous, setiap karakter dari data diperlakukan secara
independen. Setiap karakter dimulai dengan sebuah start bit yang
memberikan tanda kepada receiver bahwa sebuah karakter sedang tiba.
Receiver mencoba beberapa bit dalam karakter dan kemudian mencari
awal dari karakter selanjutnya. Teknik ini tidak akan bekerja dengan baik
pada data yang mempunyai blok panjang karena clock dari receiver
mungkin akhirnya keluar dari sinkronisasi dengan clock pada transmitter.
Sedangkan untuk transmisi synchronous, justru digunakan untuk blok
yang besar. Setiap blok dari data di format sebagai sebuah frame yang
termasuk di dalamnya sebuah starting dan ending flag. Blok yang ada
memungkinkan mempunyai bit yang panjang. Untuk mencegah
penyimpangan waktu antara transmitter dan receiver, clock mereka harus
disinkronisasikan.
2.1.3.1. Standar RS-232
Standar sinyal komunikasi serial yang banyak digunakan
adalah Standar RS-232 yang dikembangkan oleh Electronic
Industries
Association
(EIA/TIA)
yang
pertama
kali
dipublikasikan pada tahun 1962. Standar ini hanya menyangkut
komunikasi antara (Data Terminal Equipment – DTE) dengan
14
alat-alat pelengkap komputer (Data Circuit Terminating
Equipment – DCE).
RS-232 adalah sebuah komunikasi data serial yang
menggunakan mode operasi single end. Single end adalah
standar komunikasi data dari satu transmitter ke satu receiver.
Menurut macamnya, RS-232 termasuk dalam jenis komunikasi
data serial asinkron. Karakteristik sinyal RS-232 memiliki
ketentuan level tegangan sebagai berikut :
1.
Logika ‘1’ disebut ‘mark’ terletak antara -3 volt sampai 25 volt
2.
Logika ‘0’ disebut ‘space’ terletak antara +3 volt sampai
+25 volt
3.
Daerah tegangan antara -3 volt sampai +3 volt adalah
invalid level, yaitu daerah tegangan yang tidak memiliki
level logika pasti sehingga harus dihindari. Demikian juga
level tegangan di bawah -25 volt dan diatas +25 volt juga
harus dihindari karena bisa merusak line driver pada
saluran RS-232
RS-232 memiliki kecepatan transfer maksimum sebesar
20Kbps, dan jarak transmisi maksimum sejauh 15 meter.
15
Gambar 2.3. Kabel RS-232
2.1.3.2. Standar RS-485
Standar RS-485 ditetapkan oleh Electronic Industries
Association
dan
Telecomunications
Industry
Association
(EIA/TIA) pada tahun 1983. Nama lengkapnya adalah EIA/TIA485 Standard for Electrical Characteristics of Generators and
Receivers for use in a Balanced Digital Multipoint System. RS485 ini merupakan perkembangan dari RS-422, dimana RS-422
merupakan perkembangan dari RS-232. Standar RS-485 hanya
membicarakan karakteristik sinyal dalam transmisi data secara
Balanced Digital Multipoint System, jadi jauh lebih sederhana
dibanding dengan standar RS-232 yang mencakup ketentuan
tentang karakteristik sinyal, macam-macam sinyal dan konektor
yang dipakai, serta konfigurasi sinyal pada kaki-kaki di
16
konektor dan juga penentuan tata cara pertukaran informasi
antara komputer dan alat-alat pelengkapnya.
RS-485 merupakan standar untuk mengirimkan data serial.
RS-485
ini
menggunakan
sepasang
kabel
untuk
mentransmisikan sebuah sinyal yang berbeda dengan jarak lebih
dari 1200 meter tanpa repeater. Sinyal yang berbeda itulah
yang membuatnya sangat kuat. RS-485 adalah salah satu
metode komunikasi yang paling populer digunakan dalam
aplikasi-aplikasi di dunia industri karena kekebalannya terhadap
noise dan long-distance capability-nya yang cukup sempurna.
RS-485 dapat dikonfigurasi sebagai half duplex atau full duplex.
Half duplex biasanya menggunakan sepasang kabel, sedangkan
full duplex menggunakan dua pasang kabel.
Gambar 2.4. Kabel RS-485
17
2.1.3.3. Spesifikasi RS-485 dan RS-232
Tabel spesifikasi dari RS-485 dan RS-232 ini berdasarkan
sumber http://www.lammertbies.nl:
Tabel 2.1. Spesifikasi RS-232 dan RS-485
Specifications
RS-485
RS-232
Differential
yes
no
Max number of drivers
32
1
Max number of receivers
32
1
Modes of operation
half duplex
half duplex
full duplex
Network topology
multipoint
point-to-point
Max distance (acc. standard)
1200 m
15 m
Max speed at 12 m
35 Mbs
20 kbs
Max speed at 1200 m
100 kbs
(1 kbs)
Max slew rate
n/a
30 V/µs
Receiver input resistance
≥12 kΩ
3..7 kΩ
Driver load impedance
54 kΩ
3..7 kΩ
Receiver input sensitivity
± 200 mV
±3V
Receiver input range
-7..12 V
± 15 V
Max driver output voltage
-7..12 V
± 25 V
Max driver output voltage (with load)
± 1.5 V
± 5V
18
Dari spesifikasi yang bisa dilihat pada tabel di atas, RS485 memiliki lebih banyak keunggulan jika dibandingkan
dengan RS-232, diantaranya bisa disebutkan seperti di bawah
ini:
-
RS-485
dapat
menghubungkan
antar
DTE
secara
langsung, tanpa menggunakan modem
-
RS-485 dapat menghubungkan beberapa DTE sampai 256
DTE dalam sebuah jaringan
-
RS-485 dapat berkomunikasi dalam jarak yang lebih jauh
(4000 kaki / 1200 meter)
-
RS-485 memiliki kemampuan bit-rate yang cepat yang
dapat mencapai 35 Mbps. Bit-rate ini tergantung pada
panjang kabelnya. Semakin panjang kabel, maka semakin
lambat bit-rate yang dapat digunakan.
-
RS-485 memiliki ketahanan noise yang lebih baik bila
dibandingkan dengan RS-232.
2.1.4. Diagram Sitemap
Menurut sumber dari http://en.wikipedia.org, sitemap adalah
representasi dari arsitektur suatu website. Sitemap dapat digunakan
sebagai bentuk dokumen dalam perencanaan desain website sebab
sitemap ini berupa daftar halaman-halaman yang ada dalam website.
Biasanya sitemap dibuat dalam bentuk daftar. Sitemap ini sangat
19
membantu pengunjung sebuah website untuk menemukan halaman
tertentu dalam web.
Diagram sitemap merupakan representasi hirarkikal dari halamanhalaman web yang saling berhubungan. Diagram dapat dibuat dalam
bentuk hirarkikal vertikal atau horizontal.
2.1.5. State Transition Diagram
Menurut Whitten, Bentley, dan Dittman (2004, p636), State
Transition Diagram (STD) adalah alat yang digunakan untuk
menggambarkan urutan dan variasi screen yang dapat muncul ketika
pengguna sistem mengunjungi terminal. Dapat dianggap juga sebagai
peta jalan (road map). Urutan-urutan kondisi yang ada dijelaskan dengan
arah tanda panah dari setiap bujur sangkar. Anak panah menggambarkan
aliran kontrol dan menggerakkan kejadian yang menyebabkan screen
menjadi aktif atau menerima fokus. Bujur sangkar menggambarkan setiap
kondisi dari rancangan layar. Sebuah anak panah yang terpisah, masingmasing memiliki nama, digambar untuk setiap arah karena tindakan yang
berbeda akan menggerakkan aliran kontrol dari dan aliran kontrol ke
screen yang ada.
Menurut
sumber
http://www.nikhef.nl/id/,
membuat STD adalah:
-
identifikasi setiap state dari sistem
-
pilih state dengan normal behaviour
-
spesifikasikan kondisi yang menandai sebuah transisi
langkah-langkah
20
-
spesifikasikan action untuk menghasilkan observable behaviour pada
state tujuan untuk setiap transisi
-
jika sistem kompleks, maka bagi diagram yang ada dalam STD yang
berbeda
2.1.6. Sistem Real Time
Menurut Nimal Nissanke (1997, pp1-2), perhitungan dalam sistem
real time berbeda-beda, dari perhitungan numerik yang kompleks, seperti
pada radar dan partikel fisik, hingga perhitungan yang relatif sederhana
terhadap jumlah data yang besar, misalnya pada pemrosesan gambar.
Skala waktunya juga berbeda-beda pada aplikasi-aplikasi. Bagaimanapun
karakteristik sistem real time bukanlah pada skala waktu operasionalnya,
melainkan ditekankan pada kebutuhan sistemnya. Oleh karena itu
perhitungan yang real time tidak selalu berhubungan dengan kecepatan
perhitungan, tetapi lebih pada jaminan respon sistem yang tidak terlambat
terhadap respon eksternal. Sebuah real time system adalah sistem yang
kebenarannya secara logis didasarkan pada kebenaran hasil-hasil keluaran
sistem dan ketepatan waktu hasil-hasil tersebut dikeluarkan.
2.2.
Teori Khusus
Bab ini akan menjelaskan beberapa teori secara khusus yang digunakan
dalam kaitannya dengan Analisis dan Perancangan Aplikasi Manajemen
Controller-Area Network Berbasis Modbus Pada Multi Genset Controller
Melalui Jaringan Lokal dan Internet.
21
2.2.1. Protokol Modbus
Menurut Forouzan, Behrouz A. (2007,p19), protokol adalah
sekumpulan aturan yang mengatur komunikasi data. Sebuah protokol
menjelaskan apa yang dikomunikasikan, bagaimana komunikasi terjadi,
dan kapan terjadinya komunikasi. Elemen kunci dari sebuah protokol
adalah syntax, semantic, dan timing.
Menurut sumber dari internet http://www.intellicom.se, Modbus
adalah sebuah protokol pengiriman pesan pada layer application yang
menyediakan komunikasi client-server antar device yang terhubung
dalam bus dan network dengan tipe yang berbeda. Sedangkan dari sumber
lain http://en.wikipedia.org, Modbus merupakan protokol komunikasi
serial yang diperkenalkan oleh Modicon pada tahun 1979 untuk
digunakan bersamaan dengan PLC (Programming Logic Controllers) nya.
Modbus terus mengembangkan kemungkinan untuk jutaan device di
dunia ini untuk berkomunikasi dan melanjutkannya untuk terus
berkembang dalam mayoritas dunia perindustrian. Modbus melakukan
komunikasi melalui sebuah protokol reply dan request serta memberikan
service berupa function code. Function code ini merupakan elemenelemen request/reply PDU (Protocol Data Units) dari Modbus.
Hal yang menarik dari standar Modbus adalah fleksibilitas dan
juga kemudahan implementasinya. Tidak hanya intelligent device seperti
microcontroller, PLC dll yang memungkinkan untuk berkomunikasi
dengan Modbus, beberapa intelligent sensor juga dilengkapi dengan
Modbus interface untuk mengirimkan data mereka kepada host system.
22
Protokol Modbus menterjemahkan sebuah Protocol Data Unit
(PDU) yang secara independen pada layer komunikasi. Namun, dalam
suatu jaringan tertentu frame dari Modbus bertambah 2 field, tambahan 2
field dari PDU sehingga disebut sebagai Application Data Unit (ADU).
Application Data Unit (ADU) ini dihasilkan oleh client yang mengirim
sebuah Modbus transaction ke server, kemudian server akan menerima
Modbus transaction dan membaca data tersebut sehingga server
mengetahui perintah apa yang harus dijalankan.
Gambar 2.5. Modbus Frame
2.2.1.1. Kategori Modbus
Dari sumber http://www.fieldserver.com, dijelaskan ada 3
kategori dalam Modbus :
-
Modbus Serial
1)
Modbus ASCII
Setiap byte (8-bit) dalam sebuah pesan
dikirimkan sebagai 2 karakter ASCII, tujuan
utamanya adalah memberikan interval waktu di
atas
1
detik
antara
menimbulkan error.
tiap
karakter
tanpa
23
2)
Modbus RTU
Setiap byte (8-bit) dalam sebuah pesan
berisi 2 karakter 4-bit heksadesimal, tujuan
utamanya adalah kerapatan karakter yang lebih
besar memungkinkan data throughput yang lebih
baik daripada ASCII. Ini berlaku dalam baud rate
yang sama.
3)
Modbus Serial lainnya
Beberapa pabrik telah membuat modifikasi
pada
protokol
Modbus
untuk
menemukan
kebutuhan yang lebih spesifik dari aplikasi mereka,
ini termasuk Modbus Daniels, Modbus Onmiflow,
Modbus Tek Air, dan yang lainnya.
-
Modbus Plus
Jaringan industri peer-to-peer yang mana tiap
kontrollernya bisa memulai transaksi dengan kontroller
yang lainnya.
-
Modbus TCP
Modbus yang melalui jaringan Ethernet TCP/IP
24
Gambar 2.6. Komunikasi Modbus
2.2.1.2. Struktur Message Modbus
Komunikasi pada Modbus terjadi dengan menggunakan
variabel message. Pada interface yang sederhana seperti RS-485
atau RS-232, message Modbus dikirimkan dengan format yang
jelas melalui jaringan. Kemudian, jika menggunakan sistem
jaringan yang lebih serbaguna seperti TCP/IP melalui ethernet,
Message Modbus ditanam pada paket dengan format yang
diperlukan untuk physical interface.
Tiap message Modbus mempunyai struktur yang sama.
Susunan dari elemen ini sama pada semua pesan. Komunikasi
selalu dimulai oleh master dalam jaringan Modbus. Master dari
Modbus mengirimkan pesan dan sebuah slave melakukan action
dan meresponnya. Pengalamatan pada header pesan digunakan
untuk mendefinisikan device yang seharusnya merespon
25
message tersebut. Semua node yang lainnya akan mengabaikan
pesan jika field pada address tidak sesuai dengan address
mereka.
Struktur pesan pada protokol Modbus terbagi atas 4 blok.
Blok pertama merupakan header yang berisikan alamat/slave
address yang dituju. Blok kedua berisi function code yang
menyatakan tipe pesan, apakah merupakan perintah membaca
atau menulis. Blok ketiga merupakan isi pesan. Blok ini yang
akan diberikan pesan exceptional bila terjadi error. Kemudian
blok terakhir diisi dengan CRC untuk melakukan fungsi
pengecekan dan koreksi bila ada kerusakan data selama
pengiriman.
Tabel 2.2. Struktur Message Modbus
2.2.1.3. Mode Transmisi Serial pada Modbus
Koneksi serial Modbus dapat menggunakan dua mode
transmisi dasar, ASCII atau RTU (Remote Terminal Unit).
Mode transmisi dalam komunikasi serial menjelaskan cara
Modbus pesan dikodekan. Dengan Modbus/ASCII, pesan dapat
26
dibaca
dalam
format
ASCII.
Sedangkan
pada
format
Modbus/RTU, digunakan pengkodean biner yang membuat
pesan tidak dapat dibaca ketika monitoring, tetapi mengurangi
ukuran dari setiap pesan yang mengijinkan untuk pertukaran
data yang lebih pada jangka waktu yang sama. Node-node
dalam satu segmen jaringan Modbus harus menggunakan mode
transmisi serial yang sama.
Dalam
penggunaannya,
Modbus/ASCIII
akan
mentranslasikan semua pesan ke dalam nilai heksadesimal yang
diwakilkan dalam karakter-karakter ASCII. Hanya karakter 0-9
dan A-F yang digunakan dalam pentranslasian. Untuk setiap
byte informasi, dua communication-bytes dibutuhkan, karena
setiap communication-bytes hanya dapat memuat 4 bit dalam
format heksadesimal. Melalui Modbus/RTU, data di ubah ke
dalam format binary, karena setiap byte informasi ditranslasikan
ke dalam satu communication-byte.
2.2.1.4. Pengalamatan pada Modbus
Informasi awal/pertama dalam setiap message Modbus
adalah alamat dari penerima. Parameternya berisi satu byte
informasi. Alamat yang valid berada dalam range 0 sampai 247.
Nilai 1 sampai 247 ditandai untuk device Modbus secara
individu dan 0 ditandai sebagai alamat broadcast. Pesan yang
dikirimkan ke alamat selanjutnya akan diterima oleh semua
27
slave. Sebuah slave selalu merespon Message Modbus. Ketika
merespon, slave menggunakan alamat yang sama seperti master
pada saat request. Dengan cara ini, master dapat melihat bahwa
device tersebut merespon request yang ada.
2.2.1.5. Function code pada Modbus
Parameter kedua pada setiap Message Modbus adalah
function code. Parameter ini menjelaskan tipe pesan dan tipe
action yang diperlukan oleh slave. Parameter ini berisi satu byte
informasi. Function code yang valid berada pada range 1 sampai
255 dalam bentuk desimal.
Pada saat paket data dikirim dari client ke server, function
code akan memberitahu isi dari kode desimal tersebut pada
server perintah apa yang akan dijalankan. Bila function code
bernilai “0”, maka nilai tersebut tidak valid. Jika function code
menterjemahkan lebih dari satu perintah, maka sub-function
code
yang
akan
membantu
function
code
dalam
menterjemahkan perintah-perintah tersebut.
Field data berisi informasi tambahan untuk server dalam
mengartikan function code. Data ini dapat berisi alamat register,
berapa banyak device yang harus di kontrol, dan besarnya data
tersebut. Field data dapat tidak ada isinya atau kosong, dalam
kasus ini berarti server tidak memperlukan informasi tambahan
dalam mengartikan function code tersebut.
28
Apabila tidak ada error pada saat mengartikan function
code, maka server akan mengirim kembali paket data yang
berisikan function code dan respon data ke client sebagai
indikator bahwa paket tersebut sudah diartikan oleh server.
Apabila terjadi error pada saat mengartikan function code, maka
server akan mengirim paket data yang berisikan field exception
function code dan field exception code ke client untuk
memberitahukan
bahwa
error
terjadi
dan
server
akan
menentukan sendiri langkah apa yang akan diambil berikutnya
dalam exception code.
Gambar 2.7. Modbus Transaction Error Free
Gambar 2.8. Modbus Transaction Exception Response
29
Function code yang umum digunakan adalah function code 03
yaitu baca (read) dan function code 16 (write)
Tabel 2.3. Function code yang digunakan pada Modbus
Beberapa penjelasan dari function code yang umum digunakan:
Function 03: Read holding registers
Nilai internal dalam sebuah device Modbus disimpan di dalam
holding register. Register ini berkapasitas dua byte dan dapat
digunakan untuk berbagai tujuan. Beberapa register berisi
parameter konfigurasi dimana yang lainnya digunakan untuk
mengembalikan nilai yang dapat diukur (seperti temperatur dan
sejenisnya) kepada host. Register ini dialamatkan di dalam
struktur message Modbus dengan alamat mulai dari 0. Modbus
function 03 digunakan untuk meminta satu atau lebih nilai
holding register dari sebuah device. Hanya satu slave device
30
dapat dialamatkan dalam sebuah single query. Function 03 ini
tidak mendukung untuk broadcast query.
Tabel 2.4. Struktur Query Function 03
Setelah memproses query, slave Modbus mengembalikan
nilai 16 bit dari holding register yang diminta. Setiap register
dikodekan dengan dua byte dalam pesan penjawab. Byte data
pertama berisi high byte, dan yang kedua berisi low byte dari
register. Penjawab Modbus pesan mulai dengan alamat slave
device dan function code 03. Byte berikutnya adalah jumlah dari
data byte yang mengikuti di belakangnya. Nilai ini dua kali
jumlah register yang kembali. Pengecekan error ditambahkan
pada host untuk mengecek jika error komunikasi terjadi.
Function 16: Write multiple registers
Function code ini digunakan untuk menuliskan sebuah blok
register yang kontinu (antara 1 sampai 120 register) pada device.
31
Nilai permintaan yang ditulis, dikhususkan pada permintaan
data. Data dipaketkan menjadi 2 byte tiap register.
2.2.1.6. Query Message, Normal Response Message dan Exception
Response Message dari Device Genset
2.2.1.6.1. Function Code 03
Tabel 2.5. Format Query Message Function Code 03
Query Message
Byte
ke-
Keterangan
0
Slave address
1
Function code (03)
2
First register address (high byte)
3
First register address (low byte)
4
Number of register to read (high byte)
5
Number of register to read (low byte)
6
CRC
7
CRC
Tabel 2.6. Format Normal Response Message
Function Code 03
Normal Response Message
Byte
ke-
Keterangan
0
Slave address
1
Function code (03)
2
Byte count (n)
3
First register address (high byte)
4
First register address (low byte)
5
.
32
.
.
1+n
Last register (high byte)
2+n
Last register (low byte)
3+n
CRC
4+n
CRC
Tabel 2.7. Format Exception Response Message
Function Code 03
Exception Response Message
Byte
ke-
Keterangan
0
Slave address
1
Function code + 128 (Top bit is set)
2
Exception code
1 – Illegal function code
2 – Illegal data address
3 – Slave device busy
3
Error check CRC
4
Error check CRC
Perkecualian untuk respon pada saat data
yang akan dibaca tidak ada di modul yang
digunakan, maka semua bit pada data tipe biner
yang terbaca akan diberi nilai 1 (sentinel values).
Tabel 2.8. Format Sentinel Values
Size of Register
Value in
Hexadecimal
16 bit unsigned, any scale
0xFFFF
16 bit signed, any scale
0x7FFF
32 bit unsigned, any scale
0xFFFFFFFF
32 bit signed, any scale
0x7FFFFFFF
33
Berikut
merupakan
beberapa
contoh
perintah dan respon dari device (genset) serta cara
baca baik perintah dari program maupun respon
device (dalam heksadesimal):
1. Untuk membaca control mode dari genset
Query message:
0a 03 03 04 00 01 C4 F4
•
0a Æ slave address
•
03 Æ function code (03)
•
03 Æ first register address (high byte)
•
04 Æ first register address (low byte)
•
00 Æ number of register (high byte)
•
01 Æ number of register (low byte)
•
C4 F4 Æ error check (CRC)
Normal Response Message:
0a 03 02 00 02 9c 44
•
0a Æ slave address
•
03 Æ function code (03)
•
02 Æ byte count
•
00 Æ first register address (high byte)
•
02 Æ first register address (low byte)
•
9c 44 Æ error check (CRC)
34
2. Untuk menanyakan string model dari genset
Query message:
0a 03 14 20 00 20 41 53
•
0a Æ slave address
•
03 Æ function code (03)
•
14 Æ first register address (high byte)
•
20 Æ first register address (low byte)
•
00 Æ number of register (high byte)
•
20 Æ number of register (low byte)
•
41 53 Æ error check (CRC)
Normal Response Message:
0a 03 40 00 4d 00 6f 00 ec f9 7f ff 77 ff 21
ff 9c 34 4d 05 4d 05 fc 01 1e 2e 65 f5 07 fd
0c a3 35 15 35 15 f1 05 9c b9 95 f5 95 f5
1d f5 1c 1a aa 2a aa 2a 8a 15 1c cb ab bb
eb d5 1c 69 2b ff
•
0a Æ slave address
•
03 Æ function code (03)
•
40 Æ byte count
•
00 Æ first register address (high byte)
•
4d Æ first register address (low byte)
•
00 Æ second register address (high byte)
•
6f Æ second register address (low byte)
35
•
...
•
...
•
1c Æ last register address (high byte)
•
69 Æ last register address (low byte)
•
9c 44 Æ error check (CRC)
3. Untuk response yang tidak berhasil
Query message:
0a 03 14 20 00 20 41 53
Exception Response Message:
10 83 06 dc 76
•
10 Æ slave address
•
83 Æ function code + 128
(dalam heksadesimal, 131 adalah 83)
•
06 Æ exception code (slave device busy)
•
dc 76 Æ error check CRC
2.2.1.6.2. Function Code 16
Tabel 2.9. Format Query Message Function Code 16
Query Message
Byte
ke-
Keterangan
0
Slave address
1
Function code (16)
2
First register address (high byte)
3
First register address (low byte)
36
4
Number of register to read (high byte)
5
Number of register to read (low byte)
6
Byte count (n)
7
First register (high byte)
8
First register (low byte)
.
.
5+n
Last register (high byte)
6+n
Last register (low byte)
7+n
CRC
8+n
CRC
Tabel 2.10. Format Normal Response Message
Function Code 16
Normal Response Message
Byte
ke-
Keterangan
0
Slave address
1
Function code (16)
2
First register address (high byte)
3
First register address (low byte)
4
Number of registers written (high byte)
5
Number of registers written (low byte)
6
CRC
7
CRC
Tabel 2.11. Format Exception Response Message
Function Code 16
Exception Response Message
Byte
ke-
Keterangan
0
Slave address
1
Function code + 128 (Top bit is set)
2
Exception code
37
1 – Illegal function code
2 – Illegal data address
3 – Slave device busy
3
Error check CRC
4
Error check CRC
2.2.2. Controller Area Network (CAN)
CAN
merupakan
serial
bus
network
yang
terdiri
atas
microcontroller yang saling terkoneksi. Standar CAN bekerja dengan
metode broadcast pada serial bus dan ini merupakan standar untuk
interkoneksi Electronic Control Unit (ECU)
Perangkat yang biasanya terkoneksi dengan CAN biasanya adalah
sensor, actuator dan control devices. Sesungguhnya perangkat tidak
terhubung langsung dengan bus melainkan melalui host processor yang
ada pada setiap perangkat.
2.2.3. Manajemen Jaringan
Manajemen jaringan memiliki arti yang berbeda-beda pada setiap
orang. Secara umum manajemen jaringan berhubungan dengan control
dan monitoring suatu instansi dalam jaringan menggunakan berbagai
macam perangkat atau aplikasi. Lebih lanjut lagi manajemen jaringan
juga menginjak ranah administrasi dan maintenance agar segala yang ada
dalam jaringan tersebut berada di bawah kontrol sehingga dapat
mencegah berbagai masalah yang mungkin terjadi.
38
2.2.4. Daemon
Daemon adalah program komputer yang berjalan di background,
bukan melalui perintah langsung dari user. Sistem biasanya menjalankan
daemon pada saat booting. Daemon umumnya berfungsi sebagai respon
atas aktivitas hardware, program lain, request, melakukan aktivitas yang
dijadwalkan dan juga dapat melakukan konfigurasi tertentu dan
sebagainya.
2.2.5. Microcontroller
Microcontroller adalah sebuah komputer kecil pada single
integrated circuit yang merupakan CPU sederhana dengan tambahan
komponen pendukung seperti crystal osciliator, timers, watch dog, serial
dan analog input/output.
Memory program tersimpan dalam NOR flash atau OTP Rom
sebagai read/write memory yang biasanya kecil.
Microcontroller
digunakan
pada
produk/devices
yang
memerlukan otomatisasi seperti remote control, peralatan kantor, power
tools dan lain-lain. Microcontroller merupakan solusi yang lebih
ekonomis untuk pengontrolan berbagai devices karena penggabungan
komponen-komponennya pada circuit terintegrasi, tidak seperti desain
yang menggunakan microprocessor secara terpisah
Komponen pada microcontroller antara lain adalah CPU, discrete
input dan output, serial port untuk input/output, timer, volatile memory,
flash memory, clock generator, analog to digital converter, dan lain-lain
39
2.2.6. Sejarah Deep Sea Electronics
DSE adalah perusahaan yang spesialis dalam merancang,
memproduksi dan menyalurkan modul pengontrol alat elektronik dan
sistem monitoring untuk diesel dan generating set (genset)
DSE mulai dikembangkan pada tahun 1975 dan memiliki pusat di
United Kingdom. Perusahaan ini sudah memiliki pengalaman hampir 30
tahun dalam membuat solusi pengontrolan market leading. Perusahaan ini
memiliki jangkauan yang luas pada produk-produknya dan mempunyai
spesialisasi pada Automatic Start Controllers, Automatic Mains Failure
Controllers dan Auto Transfer Switch Controllers serta memiliki
kumpulan
load
share
yang
berbasiskan
teknologi
yang
lebih
maju/terdepan dan solusi yang dapat digunakan pada electronic engine.
Semua produk diproduksi di kantor kepala yang berada di United
Kingdom, hal ini memungkinkan perusahaan untuk dapat tetap
mengontrol secara lengkap proses produksi serta memastikan pengiriman
yang kontinu dari solusi tingkat tinggi. Sebagai bukti nyata, jangkauan
modul telah mengembangkan reputasi yang patut untuk dicontoh dalam
hal kualitasnya, tingkat kepercayaan pada produk, serta fungsionalitas
user-friendly di pasaran.
Perusahaan ini memiliki kantor cabang di Amerika Utara dimana
sekarang telah menjadi pusat dari penjualan dan pembuatan produk Deep
Sea Electronics di Amerika dan Kanada.
40
Perusahaan ini terus secara kontinu mengikuti perkembangan
teknologi baru untuk meningkatkan jangkauan produk dan keunggulan
dalam memberikan kontribusi pembuatan solusi di dunia industri.
2.2.6.1.
Modul 5510 Deep Sea Electronics
Gambar 2.9. Modul 5510 DSE
Modul 5510 berfungsi untuk mengatur dan
membaca status dari genset. Modul 5510 juga dapat
mengirim status dari genset tersebut ke komputer melewati
komunikasi serial RS-232 dan RS-485. Namun, pada
penelitian, digunakan RS-485 untuk mengirim status
genset ke komputer. Modul 5510 ini merupakan kontroller
genset dengan memiliki kemampuan sebagai berikut :
•
Memiliki kemampuan remote start controller.
41
•
Comprehensive instrumentation and monitoring of
the engine and genset.
•
Dapat dikonfigurasikan dengan menggunakan
program komputer pada OS Windows.
•
Dapat melakukan komunikasi serial (RS-232 dan
RS-485) dan P810 serta dapat dihubungkan dengan
modem untuk dikontrol melewati internet.
•
Kompatibel dengan banyak tipe mesin elektronik
(seperti
Volvo,
Scania,
Perkins,
dan
lain
sebagainya)
•
Kapasitas load sharing sampai 16 set dan tidak
diperlukan modul interface tambahan 5510 dan
AVR.
•
Integral Loss of mains detection ketika di parallel
dengan utility supply
•
Integral Loss of Excitation detection
Download