Anda di halaman 1dari 10

Modbus adalah protokol komunikasi serial yang diterbitkan oleh Modicon pada 1979 untuk

diaplikasikan padaprogrammable logic controller (PLC). Kemudian protokol ini telah


menjadi standar de facto protokol komunikasi di industri, dan sekarang Modbus merupakan
protokol komunikasi dua-arah yang paling umum digunakan sebagai media penghubung
dengan perangkat industri atau media elektronik lainnya dengan komputer. Alasan utama
penggunaan Modbus secara ekstensif sebagai protokol komunikasi adalah:
Modbus diterbitkan sebagai open protocol dan bebas royalti
Modbus relatif mudah untuk digabungkan dengan jaringan industri
Modbus melakukan transfer data raw bits atau words tanpa membatasi jenis
vendor atau jenis merk pabrikan perangkat industri yang digunakan
Modbus memungkinkan adanya komunikasi dua-jalur antar perangkat yang terhubung ke
jaringan yang sama, misalnya suatu sistem yang mengukur suhu dan kelembaban dan
mengkomunikasikan hasilnya ke komputer (HMI). Modbus sering digunakan untuk
menghubungkan sopervisory computer dengan remote terminal unit (RTU) supervisory
control dan sistim akuisisi data ( SCADA ).
Pabrikan atau suplier besar maupun kecil, system integrator, end-user, pengembang open
source, dosen dan pihak yang berkepentingan lainnya dapat menjadi anggota Modbus.
Beberapa anggota yang menonjol adalah SoftDEL Systems, Precision Digital Corporation,
Motor Protection Electronics, FieldServer Technologies dan masih banyak lagi.
Versi-Versi Protokol
Komunikasi dengan menggunakan Protokol Modbus bisa melalui perantara port serial(RS232, RS-485, FO), bisa juga melalui Ethernet (LAN) dan jaringan lainnya yang mendukung
protokol Internet.
Kebanyakan perangkat Modbus berkomunikasi melalui serial EIA485 physical layer, umumnya pabrikan sensor dan tranducer tipe compact
menggunakan ini karena jauh lebih simple dan low-cost. Ada banyak varian
protokol Modbus
Modbus RTU digunakan dalam komunikasi serial & menggunakan

representasi nilai data biner yang dipadatkan sebagai protokol komunikasi.


Format RTU mengikuti request perintah / transfer data dengan cyclic
redundancy check checksum sebagai mekanisme pemeriksaan kesalahan (error-check) untuk
memastikan keandalan data. Modbus RTU adalah implementasi yang paling umum dari
semua versi Modbus yang ada. Sebuah pesan Modbus RTU harus dikirimkan secara terus
menerus tanpa jeda antar-karakter. Setiap pesan Modbus dibingkai atau dipisahkan oleh
periode-periode saat idle (tanpa komunikasi atau Port komunikasi ditutup atau OFF).
Komunikasi via Modbus RTU sering dipakai dalam sistem monitoring skala kecil dimana
sensor-sensor dan komputer HMI letaknya tidak sangat jauh.
Modbus ASCII Protokol Modbus jenis ini digunakan pada komunikasi serial dan

memanfaatkan karakter ASCII dalam berkomunikasi di dalam satu protokol. Format data
ASCII menggunakan sebuahlongitudinal redundancy check checksum di dalam memeriksa

kesalahan transfer data. Pesan data pada Modbus ASCII dibingkai oleh tanda titik dua
atau colon (':') dimuka dan diikuti oleh baris baru (CR/LF). Komunikasi antar perangkat
elektronik dengan komputer melalui Protokol Modbus ASCII umumnya digunakan dalam
jaringan telepon atau pun Modem GSM apabila tidak tersedia infrastruktur jaringan yang
memadai seperti LAN atau jaringan Fiber-Optic disana.
Modbus TCP/IP or Modbus TCP Protokol Modbus varian ini hanya bisa

digunakan untuk komunikasi melalui jaringan TCP/IP atau umumnya dikenal dengan jaringan
LAN. Modbus TCP/IP tidak memerlukan kalkulasi checksum pada layer terakhir untuk
menangani kesalahan transfer data seperti pada komunikasi serial. Modbus TCP/IP lebih
cepat dalam melakukan transfer data dibanding dengan Modbus RTU apalagi Modbus ASCII.
Pada aplikasi sistem SCADA atau pun Automation yang kompleks dimana digunakan
perangkat IED dalam jumlah yang banyak dan beraneka ragam atau dimana tingkat traffic
transfer data yang padat, saya lebih menyarankan penggunaan Modbus TCP/IP untuk
mencapai tingkat real-time yang lebih tinggi. Tentu saja perangkat IED dengan Port TCP/IP
itu sendiri harganya relatif lebih mahal dibanding dengan Port RS-485.
Modbus over TCP/IP or Modbus over TCP Ini adalah varian Modbus yang

berbeda dari Modbus TCP dimana digunakan checksum atau kalkulasi kesalahan transfer data
(error-check) yang termasuk dalam payload seperti Modbus RTU.
Modbus Plus (Modbus+ or MB+) Modbus Plus (Modbus + atau MB +) juga ada
dan merupakan versi ekstensi dari semua versi Modbus, namun hanya eksklusif untuk
SCHNEIDER ELECTRIC saja. Modbus ini membutuhkan co-prosesor khusus untuk
menangani rotasi token secara cepat seperti HDLC. Modbus jenis ini menggunakan kabel
twisted pair pada kecepatan 1 Mbit/s dan termasuk trafo isolasi di setiap node. Antarmuka
khusus diperlukan sebagai penghubung Modbus Plus ke komputer, biasanya menggunakan
card ISA (SA85), bus PCI atau PCMCIA yang khusus dibuat untuk MB+.
Pemodelan data dan fungsi request data pada ke-empat varian Modbus selain MB+ diatas
pada dasarnya adalah identik, hanya enkapsulasi atau fromat frame/bingkainya saja yang
berbeda.
Komunikasi dan perangkat
Setiap perangkat yang diinginkan untuk berkomunikasi via protokol Modbus harus diberi
alamat yang unik atau tidak boleh sama dengan alamat perangkat lainnya. Dalam komunikasi
serial dan jaringan MB+ hanya node yang ditugaskan sebagai Master saja yang dapat
memulai perintah, berbeda halnya dengan Ethernet, perangkat manapun dapat mengirimkan
perintah Modbus, walaupun biasanya hanya satu perangkat master yang melakukannya.
Perintah Modbus berisi alamat Modbus perangkat yang ingin dituju atau yang ingin diminta
berkomunikasi.. Hanya perangkat yang dimaksudkan akan bertindak atas perintah, meskipun
perangkat lain mungkin juga menerima pesan/perintah tersebut (pengecualian adalah perintah
broadcastable khusus dikirim ke node 0 yang bertindak tapi tidak diakui). Semua perintah
pada Modbus mengandung pemeriksaan informasi, untuk memastikan bahwa perintah yang

datang tidak rusak atau error. The Perintah dasar pada Modbus dapat memerintahkan
sebuah RTU untuk mengubah nilai salah satu kontrol,register atau membaca sebuah port
Input/Output, serta sekaligus memerintahkan perangkat untuk mengirimkan kembali satu atau
lebih nilai yang terkandung dalam register yang diakses atau dirubah tersebut.
Ada banyak modem dan gateway yang didukung oleh Modbus, karena memang Modbus
merupakan protokol yang sangat sederhana dan sering disalin oleh pabrikan-pabrikan
perangkat elektronik dan jaringan. Beberapa dari mereka, ada yang secara khusus membuat
perangkat yang dirancang untuk protokol ini. Implementasi yang berbeda menggunakan
kabel, komunikasi nirkabel dan bahkan SMS atau GPRS. Masalah klasik para desainer sistem
monitoring dengan jaringan nirkabel/wireless, SMS dan GPRS adalah bahwa sistem yang
mereka buat harus mampu mencakup latensi tinggi dan mengatasi masalah waktu.
Format Frame/Bingkai Data pada Modbus
Semua varian Modbus memilih untuk menggunakan format frame/bingkai data yang berbeda.
Format Frame / Bingkai Data Modbus RTU (Serial) - untuk satu kali transfer data
Nama

PanjangData

Fungsi Layer / Lapisan Data Biner

Start

3.5c idle

Setidaknya 3.5 kali karakter antar frame untuk waktu jeda


(keheningan/silence) setiap proses transfer data

Address

8 bits 8 bit

Station Address atau Alamat Perangkat/Slave yang Dituju

FunctionCode 8 bits 8 bit

Indikasi Function Codes seperti Read Coil, Read Register,


Write Register dsb.

Data

n * 8 bits n * 8 Data + Length, akan terisi bergantung pada jenis pesan yang
bit
dikirim/diterima

CRC Check

16 bits 16 bit

Error checks atau Checksum kesalahan transfer data

End

3.5c idle

Setidaknya 3.5 kali karakter antar frame untuk waktu jeda


(keheningan/silence) setiap proses transfer data

Format Frame Modbus ASCII


Nama

PanjangData Fungsi Layer

Start

1 char

Dimulai dengan titik dua atau colon ( : ), nilai


ASCII colon dalam hexadecimal adalah 3A)

Address

2 chars

Station Address atau Alamat Perangkat/Slave yang Dituju

FunctionCode 2 chars

Indikasi Function Codes seperti Read Coil, Read Register,


Write Register dsb.

Data

n chars

Data + Length, akan terisi bergantung pada jenis pesan yang


dikirim/diterima

LRC Check

2 chars

Error checks atau checksum kesalahan transmisi data

End

2 chars

Carriage Return Line Feed (ditulis: CRLF) pair/sepasang,


nilai karakter ASCII ini jika ditulis dalam bilangan
hexadecimal adalah 0D & 0A hex

Modbus TCP Frame Format Modbus TCP Frame Format


Nama

Panjang Data Fungsi Layer

o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o

Transaction Identifier 2 bytes

Untuk sinkronisasi pesan antara Server dengan Client

Protocol Identifier

2 bytes

Zero atau 0 untuk MODBUS/TCP

Length Field

2 bytes

Jumlah byte yang tersisa dalam frame ini

Unit Identifier

1 byte

Slave Address (255 jika tidak digunakan)

Function Code

1 byte

Function codes seperti pada varian Modbus lainnya

Data bytes

n bytes

Data sebagai Response atau Commands Data

Unit identifier digunakan dengan Modbus / perangkat TCP yang merupakan gabungan dari
beberapa perangkat Modbus, misalnya pada Modbus / TCP ke gateway Modbus RTU. In such
case, the unit identifier tells the Slave Address of the device behind the gateway. Dalam hal
demikian, unit pengenal menceritakan Alamat Slave perangkat di belakang gateway. Natively
MODBUS/TCP-capable devices usually ignore the Unit Identifier. Native Modbus / TCPperangkat mampu biasanya mengabaikan Identifier Unit.
Jenis Function Code yang Terdapat Pada Modbus
Function Code / tipe data pada Modbus meliputi beberapa jenis berikut ini. Dan yang paling
sering digunakan dalam aplikasi industri ditandai dengan huruf miring.
01 Read Coil Status atau Baca Status Coil
02 Read Input Status atau Baca Status Input
03 Read Holding Registers atau Baca Register Holding
04 Read Input Registers atau Baca Register Input
05 Force Single Coil atau Rubah Status Single Coil (0 atau 1)
06 Preset Single Register atau Mengisi/Menulis Data pada Single Register
07 Read Exception Status
08 Diagnostics
09 Program 484
10 Poll 484
11 Fetch Communication Event Counter (Ambil Penghitung Event
Komunikasi)
12 Fetch Communication Event Log (Ambil Event Log Komunikasi)
13 Program Controller
14 Poll Controller
15 Force Multiple Coils atau Merubah Status Banyak Coils
16 Preset Multiple Registers atau Menulis/Mengisi Data Lebih dari Satu
Register
17 Report Slave ID
18 Program 884/M84
19 Reset Comm. Link
20 Read General Reference
21 Write General Reference
22 Mask Write 4X Register
23 Read/Write 4X Registers
24 Read FIFO (First In Fisrt Out) Queue
Implementasi Modbus dalam Transfer Data

o
o
o
o
o
o

o
o
o

Hampir semua implementasi memiliki berbagai jenis variasi dari standar resmi yang ada.
Varietas yang berbeda mungkin tidak dapat berkomunikasi dengan baik antar peralatan
elektronik dari supliers yang berbeda.
Untuk memahami implementasi Modbus, sebaiknya readers membuka instruction
manualperalatan elektronik atau IED masing-masing. Di halaman paling belakang biasanya
terlampirModbus Register Map, dimana nilai dan jenis data pada register yang ada pada
peralatan. Perlu diketahui, alamat register beserta nilainya pasti berbeda dari satu merk
dengan merk lainnya meski fungsinya sama, misal: sensor tegangan tapi berbeda merk.
Beberapa variasi nilai data register yang paling umum adalah:
Tipe data:
Floating point IEEE, nilai pengukuran yang lebih presisi dengan pecahan s/d
beberapa angka dibelakang koma
32-bit integer (bilangan bulat 32-bit, terdiri dari dua buah
bilangan hexadecimal yang digabungkan)
8-bit data (antara 0 s/d 255 atau 00 s/d FF hex)
Tipe data campuran (misal: Merk atau nomor seri peralatan)
Bit fields di dalam integers, nilai bit di dalam bilangan bulat. Misal: Nilai
sebaris channel input/output (Status On-Off) PLC seperti: 00100100
Multipliers atau faktor pengali untuk mengubah data dari nilai integer. 10,
100, 1000, 256 ... 10, 100, 1000, 256 ... Misal: faktor pengali 1000 untuk nilai tegangan 150
(int) maka tegangan yang dimaksud adalah 150.000 Volts atau 150kV
Protocol extensions:
16-bit slave addresses
32-bit data size (1 address = 32 data dikembalikan)
Word swapped data
Keterbatasan-Keterbatasan Modbus
Semenjak Modbus dirancang pada akhir tahun 1970-an untuk dijadikan perantara atau
bahasa komunikasi standar untuk programmable logic controller (PLC), jumlah tipe data ini
terbatas pada mereka yang mengerti PLC pada saat itu. Sehingga object dengan nilai biner
yang besar tidak didukung.
Tidak ada cara yang standar untuk sebuah node untuk menemukan deskripsi objek
data, misalnya, untuk menentukan bahwa nilai register tersebut merupakan perwakilan nilai
suhu antara 30 dan 175 derajat. Karena data yang diterima hanyalah berupa nilai desimal,
sehingga seorang perancang sistem harus lebih jeli agar tidak salah dalam membaca register
dan alamat slave yang dituju.
Karena Modbus adalah protokol dengan sistem master/slave, slave hanya akan
memberikan data atau pesan jika diperintah oleh master saja, sehingga tidak ada jalan bagi
perangkat elektronik yang ada di lapangan untuk mengirimkan "report by exception" (kecuali
Modbus over Ethernet TCP/IP, dikenal dengan istilah open-mbus). Master node harus secara
rutin meminta atau mengumpulkan data (polling data) kepada setiap perangkat yang ada di
lapangan, dan mencari adanya perubahan data disana. Tentu saja hal ini akan memakan
bandwidth dan waktu pemakaian jaringan yang lebih lama di dalam konteks dimana aplikasi
pemakaian bandwidth yang mungkin mahal, seperti pada low-bit-rate radio link, modem
GSM dlsb.

Modbus RTU dan ASCII dibatasi hanya boleh menangani 247 perangkat elektronik
(IED) saja pada satu link jaringan, dan tentunya akan membatasi jumlah perangkat lapangan
yang mungkin terhubung ke master station (sekali lagi tidak berlaku pada Modbus Ethernet
TCP / IP).
Transmisi Modbus harus bersebelahan yang akhirnya membatasi jenis komunikasi
jarak jauh dengan perangkat elektronik dan hanya dapat dilakukan oleh perangkat elektronik
yang bisa mem-bufferdata untuk menghindari kesenjangan atau gaps dalam transmisi.
Di dalam Protokol Modbus tidak terdapat security / pengaman terhadap perintah yang
tidak sah (unauthorized commands) atau intersepsi data. Faktor terakhir inilah yang membuat
banyak industri yang merasa takut atau resah akan adanya pihak-pihak yang tidak
bertanggung-jawab dan dengan sengaja merusak sistem operasi dan berdampak pada jumlah
kerugian investasi yang sangat besar.
Sehingga munculah standar-standar protokol baru guna menangani segala keterbatasan yang
ada pada Modbus namun tetap bersifat open-protocol agar tidak muncul praktek monopoli
perdagangan pada satu merk dalam bidang Automation.
Open-Protocol Standar Lainnya
Selain Modbus, tengah diaplikasikan dan dikembangkan juga open-protocol standar jenis
baru yang diharapkan mampu menjawab tantangan-tantangan berkaitan dengan securityissue yang ada pada Modbus.
Meskipun demikian, untuk aplikasi protokol baru ini di Indonesia masih sebatas vendorvendor besar saja dan belum semua sistem integrator dapat mengaplikasikannya sebagai
pengganti Modbus. Semakin tinggi tingkat keamanan sebuah protokol tentu saja
pemrogrammannya menjadi lebih rumit, dan tidak boleh ada kesalahan. Satu kesalahan saja
sistem akan memblokade jalur komunikasi secara otomatis seperti time-stamp dan
sebagainya.
Protokol-Protokol Standar baru tersebut antara lain adalah sebagai berikut":
IEC 60870-5 IEC 60870-5
IEC 60870-5-101 IEC 60870-5-101
IEC 60870-5-104 IEC 60870-5-104
IEC 60870-5-103 IEC 60870-5-103
IEC 61850 IEC 61850
DNP3 DNP3

1.
2.
3.
4.
5.
6.

Menanggapi feedback-readers yang ingin tahu tentang Modbus, maka saya rilis tulisan ini.
Untuk memahami lebih lanjut transmisi data yang terdapat pada Modbus dan memahaminya
lebih mendalam lagi fungsi dan cara kerjanya, anda dapat men-dowbload Modbus RTU
Tester di website ini dan mempraktekkannya ke perangkat elektronik anda secara langsung.
Pastikan anda memiliki:
Modbus Register Map alat tersebut (biasanya terlampir di buku manual),
\Kabel data serial (apabila port alat adalah RS485),
RS485-RS232 Converter (apabila port alat adalah RS485),
Komputer dengan port RS232 (apabila port alat adalah RS485),
Modbus RTU Tester, dapat di download di website ini
Dan cukup kabel LAN direct untuk alat dengan port TCP/IP

CANBUS
CAN bus (untuk jaringan area controller) adalah standar bus kendaraan yang
dirancang untuk memungkinkan mikrokontroler dan perangkat untuk berkomunikasi satu
sama lain dalamkendaraan tanpa komputer host.
CAN bus adalah protokol berbasis pesan, yang dirancang khusus untuk aplikasi otomotif tapi
sekarang juga digunakan di daerah lain seperti aerospace, maritim, otomasi
industri danperalatan medis.
Pengembangan bus CAN dimulai awalnya pada tahun
1983 di protokol Robert BoschGmbH.The secara resmi dirilis pada tahun 1986 di Society of
Automotive
Engineers (SAE)kongres di Detroit, Michigan. Chip BISA kontroler pertama, diproduksi
oleh Intel dan Philips,datang di pasar pada tahun 1987.
Bosch menerbitkan beberapa versi spesifikasi BISA dan yang terbaru
adalah CAN 2.0diterbitkan pada tahun 1991 Spesifikasi ini memiliki dua
bagian; Bagian A adalah untuk formatstandar dengan identifier 11bit, dan bagian B untuk format diperpanjang dengan identifier 29-bit. Sebuah
perangkat CAN yang menggunakan pengidentifikasi 11-bit yang biasa
disebutBISA 2.0A dan perangkat CAN yang menggunakan pengidentifikasi 29-bit yang biasa
disebutBISA 2.0B. Standar-standar ini tersedia dengan gratis dari Bosch bersama dengan
spesifikasilain dan kertas putih.
Pada tahun 1993 Organisasi Internasional
untuk Standardisasi merilis BISA standar ISO 11898yang kemudian direstrukturisasi
menjadi dua bagian; ISO 11898-1 yang mencakup lapisan data link, dan ISO 11898-2 yang
meliputi BISA lapisan fisik untuk kecepatan tinggi BISA. ISO11898-3 dirilis kemudian
dan mencakup BISA lapisan fisik untuk kecepatan rendah, fault-tolerant BISA yang bukan
bagian dari Bosch spesifikasi asli. Standar ini dapat dibeli dariOrganisasi Internasional
untuk Standardisasi (ISO).
BISA di Otomasi (CIA) juga diterbitkan CAN standar; BISA Specification
2.0 bagian A danbagian B, namun status untuk sekarang usang (diganti oleh ISO 11898-1).
Bosch masih aktif dalam memperluas standar CAN. Pada 2012 Bosch dirilis BISA FD 1.0
atauBISA dengan Fleksibel Data-Rate. Spesifikasi ini menggunakan format frame yang
berbedayang memungkinkan panjang data yang berbeda serta opsional beralih ke bit
rate lebih cepat setelah arbitrase yang diputuskan, tapi BISA FD kompatibel dengan
CAN 2.0 jaringan yang adasehingga BISA baru perangkat FD dapat hidup
berdampingan pada jaringan yang samadengan perangkat BISA ada.
CAN bus adalah salah satu dari lima protokol yang digunakan dalam onboard diagnostik(OBD) -II standar diagnostik kendaraan. Standar OBD-II telah wajib untuk
semua mobil dan truk ringan yang dijual di Amerika Serikat sejak tahun
1996, dan standar EOBD telah wajib bagisemua kendaraan bensin yang dijual di Uni
Eropa sejak tahun 2001 dan semua kendaraandiesel sejak tahun 2004.

Aplikasi
Automotive
Mobil modern mungkin memiliki sebanyak 70 unit kontrol elektronik (ECU) untuk
berbagaisubsystems.Typically prosesor terbesar adalah unit kontrol mesin. Lain
digunakan untuk transmisi, airbag, antilock braking / ABS, cruise control, power
steering listrik, sistem audio,power window, pintu, penyesuaian cermin, baterai dan sistem
untuk hybrid / mobil listrik, dll Beberapa subsistem independen ini
berupa pengisian, tetapi komunikasi antara lain sangat penting. Subsistem A mungkin perlu
untuk mengontrol aktuator atau menerima umpan balik dari sensor. Standar CAN telah
dibuat untuk memenuhi kebutuhan ini.
Industri
Arsitektur
CAN adalah multi-master standar bus serial untuk menghubungkan ECU.Setiap
node membutuhkanCentral processing unit atau prosesor host
Prosesor host memutuskan apa pesan yang diterima berarti dan pesan mana yang
inginmengirimkan sendiri.Sensor, aktuator dan perangkat kontrol dapat dihubungkan
ke prosesor host. CAN controller; hardware dengan jam sinkron.
Menerima: toko controller BISA menerima bit serial dari
bus sampai seluruh pesan tersedia,yang kemudian dapat diambil oleh prosesor host (biasanya
setelah controller CAN telah memicu interrupt).
Mengirim: prosesor host menyimpan pesan mengirimkan ke controller CAN, yang
mentransmisikan bit serial ke bus.
transceiver
Menerima: menyesuaikan tingkat sinyal dari bus ke tingkat bahwa
kontroler CANmengharapkan dan memiliki sirkuit pelindung yang
melindungi controller CAN.
Mengirimkan: mengkonversi sinyal pancar-bit yang diterima dari controller CAN menjadi
sinyalyang dikirim ke bus.
Setiap node dapat mengirim dan menerima pesan, tapi tidak secara bersamaan. Sebuah
pesan utamanya terdiri dari ID (identifier), yang merupakan prioritas pesan, dan sampai
delapan byte data. Ditingkatkan CAN FD meluas panjang bagian data hingga 64 byte per
frame. Hal ini ditularkan secara serial ke bus. Pola sinyal ini dikodekan dalam non-Return
tozero (NRZ) Format dan dapat diterima oleh semua node.
Perangkat yang terhubung dengan jaringan CAN biasanya sensor, aktuator, dan perangkat
kontrol lainnya. Perangkat ini tidak terhubung langsung ke bus, tetapi melalui prosesor host
dan controller CAN.
Transmisi data
CAN transmisi data menggunakan metode arbitrase bitwise lossless resolusi pertentangan.Metode arbitrase ini mengharuskan semua node pada
jaringan CAN yang akan disinkronisasiuntuk sampel setiap bit pada jaringan CAN pada saat
yang sama. Inilah sebabnya mengapa

beberapa panggilan CAN sinkron. Sayangnya sinkron istilah tepat karena data yang
ditransmisikan tanpa sinyal clock dalam format asynchronous.
Tegangan yang tepat untuk logika 0 atau 1 tergantung pada lapisan fisik yang
digunakan,tetapi prinsip dasar CAN mengharuskan setiap node mendengarkan data
pada jaringan CANtermasuk data
yang node transmisi transmisi. Jika logika 1 ditransmisikan oleh semua nodetransmisi pada
saat yang sama logis 1 dilihat oleh semua
node, termasuk kedua nodetransmisi (s) dan menerima node (s). Jika logika 0 ditularkan oleh
semua transmisi simpul (s)pada saat yang sama maka logis 0 dilihat oleh semua
node. Jika logika 0 sedang dikirim oleh satu atau lebih node, dan logis 1 sedang dikirim oleh
satu atau lebih node, maka logis 0 dilihat oleh semua
node termasuk node (s) transmisi logis 1 Ketika mentransmisikan simpul logika 1tapi melihat
logika 0, ia menyadari bahwa ada pertentangan dan itu berhenti transmisi. Dengan
menggunakan proses ini, setiap node yang mengirimkan logis 1 ketika node
lain mengirimkanlogis 0 "turun" atau kehilangan arbitrase. Sebuah node
yang kehilangan arbitrase ulang antrianpesan untuk transmisi kemudian
dan bingkai CAN bit-stream berlanjut tanpa kesalahansampai hanya satu node yang
tersisa transmisi. Ini berarti bahwa node yang
mentransmisikanpertama 1 kehilangan arbitrase. Sejak 11 (atau 29
untuk CAN 2.0B) identifier bitditransmisikan oleh semua node pada
awal frame CAN, node dengan identifier terendahmentransmisikan lebih nol pada
awal frame, dan itu adalah simpul yang memenangkanarbitrase atau memiliki prioritas
tertinggi.
Spesifikasi CAN menggunakan istilah "dominan" bit dan "resesif" bit mana yang
dominanadalah logis 0 (aktif didorong untuk tegangan oleh
pemancar) dan resesif adalah logis 1 (pasifkembali ke tegangan oleh resistor). Keadaan
idle diwakili oleh tingkat resesif (Logical 1). Jikasatu node mengirimkan sedikit dominan
dan node lain mengirimkan sedikit resesif makadominan bit "menang" (logika AND antara
dua).
Tabel kebenaran untuk dominan / resesif, logis atau, dan logis
dan(untuk perbandingan)

Logical
or
Bus state with two nodes transmitting
0 1
Dominant
Recessive
0 0 1
Dominant
Dominant
Dominant
1 1 1
Recessive
Dominant
Recessive

Logical
and
0 1
0 0 0
1 0 1

Jadi, jika sedikit resesif sedang dikirim sementara


sedikit dominan dikirim, bit dominanditampilkan, bukti tabrakan. (Semua tabrakan lainnya ti
dak terlihat.) Sedikit dominanditegaskan dengan menciptakan tegangan kabel sementara
sedikit resesif sama sekali tidakmenegaskan di bus. Jika setiap
node menetapkan perbedaan tegangan, semua node akan melihatnya. Jadi tidak ada
penundaan untuk pesan prioritas yang lebih tinggi, dan simpultransmisi pesan prioritas yang
lebih rendah otomatis mencoba untuk mengirimkan kembalienam jam bit setelah
akhir pesan yang dominan. Hal ini membuat CAN sangat cocok sebagai
sistem komunikasi real time diprioritaskan.

Selama arbitrase, setiap node transmisi monitor keadaan bus dan membandingkan bit yang
diterima dengan bit ditransmisikan. Jika sedikit dominan diterima ketika
sedikit resesifditransmisikan maka node berhenti transmisi (yaitu, kehilangan arbitrase). Arbit
rase dilakukan selama transmisi bidang identifier. Setiap node mulai mengirimkan pada saat
yang samamengirimkan ID dengan dominan sebagai biner 0, mulai dari agak
tinggi. Begitu ID merekajumlah yang lebih besar (prioritas yang lebih rendah) mereka
akan mengirimkan 1 (resesif)dan melihat 0 (dominan), sehingga mereka mundur. Pada
akhir ID transmisi, semua nodekecuali satu telah mundur, dan pesan prioritas tertinggi akan
melalui tanpa hambatan.
Sebagai contoh, perhatikan ID 11-bit CAN jaringan, dengan dua
node dengan ID dari 15(representasi biner, 00000001111) dan
16 (representasi biner, 00000010000). Jika keduanode mengirimkan pada saat yang
sama, masing-masing akan mengirimkan enam pertamanol dari ID mereka dengan keputusan
arbitrase yang
dibuat. Ketika bit 7 ditransmisikan, nodedengan ID dari 16 mengirimkan 1 (resesif) untuk IDnya, dan node dengan ID dari 15mentransmisikan 0 (dominan) untuk ID-nya. Ketika ini
terjadi, node dengan ID dari 16 akanmenyadari bahwa itu hilang arbitrase, dan
memungkinkan node dengan ID dari 15 untuk melanjutkan transmisi. Hal ini memastikan
bahwa node dengan nilai yang lebih rendah bitakan selalu
menang arbitrase. ID dengan jumlah yang lebih kecil akan memenangkan hak untuk
menggunakan.Bit rate hingga 1 Mbit / s adalah mungkin pada panjang jaringan di bawah
40 m. Penurunankecepatan bit memungkinkan jarak jaringan lama (misalnya, 500 m pada
125 kbit / s).Ditingkatkan CAN FD memperluas kecepatan data bagian dengan faktor hingga
8 dari bit ratearbitrase.

Anda mungkin juga menyukai